详解 Vue 生命周期
Vue生命周期
Vue的生命周期:
Vue实例从创建到销毁的过程为生命周期,即指从创建、初始化数据、编译模板、挂载Dom到渲染、更新到渲染、销毁的一系列过程,它主要分为8个阶段:创建前后、载入前后、更新前后、销毁前后以及一些特殊场景的生命周期。
Vue生命周期的整体流程如下图所示:
beforeCreate
→created
初始化vue实例,进行数据观测
created
完成数据观测,属性与方法的计算,watch、event事件回调的配置
可调用methods中的方法,访问和修改data数据触发响应式渲染dom
可通过computed和watch完成数据计算
此时vm.$el并未被创建
created
→beforeMount
判断是否存在el选项,不存在则停止编译,直至调用vm.$mounted(el)才会继续编译
优先级:render > template > 外层HTML
vm.el获取到的是挂载dom的
beforeMount
此阶段可获取到vm.el,vm.el虽已完成dom初始化,但并未挂载在el选项上
beforeMount
→mounted
vm.el完成挂载,vm.$el生成的dom替换了el选项对应的dom
mounted
vm.el已经完成dom的挂载与渲染,此刻打印vm.$el,发现之前的挂载点及内容已被替换为新的dom
beforeUpdate
更新的数据必须是被渲染在模板上的(el、template、render之一)
此时view层还未更新;若再次修改数据,不会再次触发更新方法
updated
完成view层的更新;若再次修改数据,会再次触发更新方法(beforeUpdate、updated)
beforeDestroy
实例被销毁前调用,此时实例属性与方法仍可访问
destroyed
完全销毁一个实例
可清理它与其它实例的连接,解绑它的全部指令及事件监听器
并不能清除dom,仅仅销毁实例
created 与 mounted
Vue父子组件生命周期顺序
未完待续……
Vue和jQuery
jQuery:事件驱动
Vue:数据驱动,双向绑定,设计模式MVVM,单文件模式
M:Model 数据逻辑处理
V:View 视图
VM:View Model 数据视图
- 感谢你赐予我前进的力量