标签:created 行数据 指示 事件监听器 函数 触发点 render for 导致
1、在beforeCreate和created这个生命周期之间,进行初始化事件,进行数据的观测,可以看到在created的时候数据已经和data属性进行绑定(放在data中的属性当值发生改变的同时,视图也会改变)。此时还是没有el选项
2、在created和beforeMount首先会判断对象是否有el选项。如果有的话就继续向下编译,如果没有el选项,则停止编译,也就意味着停止了生命周期,直到在该vue实例上调用vm.$mount(el)。
render函数选项 > template选项 > outer HTML.
3、beforeMount和mounted 钩子函数间的生命周期。给vue实例对象添加$el成员,并且替换掉挂在的DOM元素。beforeMount方法中$el还未被创建,这期间VUE先后生成两份模板,所以在beforeMount之前只是虚拟的,并未真实存在
4、mounted。在mounted之前中还是通过{{message}}进行占位的,因为此时还有挂在到页面上,还是JavaScript中的虚拟DOM形式存在的。
5、 beforeUpdate钩子函数和updated钩子函数间的生命周期
beforeUpdate,可以监听到data的变化但是view层没有被重新渲染,view层的数据没有变化。等到updated的时候 view层才被重新渲染,数据更新。
当vue发现data中的数据发生了改变,会触发对应组件的重新渲染,先后调用beforeUpdate和updated钩子函数。
beforeUpdate、updated函数的触发点并不是数据改变,而是视图改变,up更新message之后,导致触发beforeUpdate、updated函数,是因为视图中有{{message}}。可以将视图中的{{message}}删除后,更新message的值,发现 beforeUpdate、updated函数,并未触发。因为删除了视图中的{{message}}删除后 没有了观察者 自然就不会触发观察者的update
6、beforeDestroy和destroyed钩子函数间的生命周期
beforeDestroy钩子函数在实例销毁之前调用。在这一步,实例仍然完全可用。
destroyed钩子函数在Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
标签:created 行数据 指示 事件监听器 函数 触发点 render for 导致
原文地址:https://www.cnblogs.com/fujijill/p/14412709.html