1.beforCreate($el和$data并未初始化)
|
(1,2之间初始化事件,进行数据的观测)
|
2.created(完成$data初始化,数据和data属性进行绑定,data中属性变化时,视图也会改变)
|
(2,3之间判断对象是否有el选项。若有就继续向下编译,若无则停止编译,即停止生命周期,直到实例调用vm.$mount(el))
编译过程中,如果有template选项,则将其作为模板编译成render函数,若无,则将外部HTML作为模板编译(优先级:template模板 > outer HTML , 若有render函数,它是以createElement作为参数做渲染操作。 render函数选项优先级高于前两者)
|
3.beforeMount
|
(3,4之间给vue实例对象添加$el成员,并且替换掉挂载的DOM元素)
|
4.mounted(完成挂载,用来占位的虚拟DOM{{}}在挂载时候真实值被渲染进去)
5.beforeUpdate(数据变化时被调用,监听到data的变化,但view层没有被重新渲染,view层数据没有变化)
|
(5,6之间data中数据发生变化触发对应组件重新渲染)
|
6.updated
7.beforeDestroy(实例销毁前调用,这一步,实例仍完全可用)
|
(7,8之间卸载watchers,子实例及event listeners)
|
8.destroyed(vue实例销毁后调用。调用后,vue实例指示的所有东西都会被解绑,事件监听器被移除,子组件全被销毁)