Vue生命周期的执行过程(极简版)
简单粗暴的答案直接走起:1、创建vue实例,Vue();2、在创建Vue实例的时候,执行了init(),在init过程中首先调用了beforeCreate钩子函数;3、同时监听data数据,初始化vue内部事件,进行属性和方法的计算;4、以上都干完了,调用Created钩子函数;5、模板编译,把data对象里面的数据和vue语法写的模板编译成HTML。编译过程分三种情况:1)实例内部有templa
·
简单粗暴的答案直接走起:
答: 总共分为8个阶段。创建前/后
,载入前/后
,更新前/后
,销毁前/后
。
创建前/后: 在beforeCreated
阶段,vue实例的挂载元素$el
和数据对象 data 都为undefined,还未初始化。在 created
阶段,vue实例的数据对象data有了,$el还没有。
载入前/后: 在beforeMount
阶段,vue实例的$el和data都初始化了,但还是挂载之前为虚拟的dom节点,data.message还未替换。在mounted
阶段,vue实例挂载完成,data.message成功渲染。
更新前/后: 当data变化时,会触发beforeUpdate
和updated
方法。
销毁前/后: 在destroy
阶段,对data的改变不会再触发周期函数,说明此时vue实例已经解除了事件监听以及和dom的绑定,但是dom结构依然存在。destroyed
阶段,组件销毁
是不是很简单,看完了吸口气,配合下图,理解更清楚
更多推荐
已为社区贡献43条内容
所有评论(0)