VUE生命周期
先说一下我对这张图(VUE官方生命周期图例)的理解。
0. 开始 new VUE()
- 初始化 Init
加载初始化事件,生命周期开始。
beforeCreate vue实例创建之前。
定义的变量,方法等已加载。
created vue实例已经创建。
是否匹配到DOM(el)元素?【是:下一步;否:暂时挂起,等匹配到时再到下一步,比如一开始没有匹配到id="app1"的dom,后来新建了一个id="app1"的dom,一匹配,然后走到下一步去】
是否存在模板?【是:加载模板;否:把当前DOM作为模板】
beforeMount - 渲染 Mount
把当前vue实例渲染到页面上。
mounted VUE大部分时间都处于该状态下。每当DOM被改变时就触发Update事件。
beforeUpdate 更新之前
渲染
updated 已更新,然后再次处于 mounted 状态。这里尤其注意,在updated里做操作容易造成无限更新渲染。 - 销毁 Destroy
是否调用vue实例的$destroy()方法?【是:下一步;否:不做任何操作】
beforeDestroy 销毁之前。
先把当前vue实例的所有子组件、事件、监听全部销毁。
Destroyed - 结束