1.vue的生命周期函数分为:
创建前
beforeCreate :在实例初始化之后执行此时对象还未创建,el 和data并未初始化,因此无法访问 methods,data ,computed等方法和数据。
2.创建后:created:最早开始使用data和methods中的数据的钩子函数,这个阶段可以数据请求,但是不能dom操作。
3.挂载前:beforeMount:挂载开始之前被调用,把data里面的数据和模板生成html,完成了el和data初始化,注意此时还没有挂载到html页面上。
4.挂载后:mounted:挂载完成,HTML已经被渲染到了页面上,这个阶段可以执行dom操作,可以进行数据请求。
5.数据更新前:beforeUpdate:数据更新前调用,当data的数据发生改变会执行这个钩子 内存中数据是新的 页面是旧的。
6.数据更新后:updated:由于数据更改导致的虚拟 DOM 重新渲染,在这之后会调用该钩子。当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。注意 updated 不会保证所有的子组件也都一起被重绘。如果你希望等到整个视图都重绘完毕,可以在 updated 里使用 vm.$nextTick。
7.销毁前:beforeDestroy:实例销毁之前调用,在这一步还可以做一些释放内存的操作。
8.销毁后:destroy:实例销毁后调用。该钩子被调用后,对应 Vue 实例的所有指令都被解绑,所有.的事件监听器被移除,所有的子实例也都被销毁。
注:在keep-alive 的时候 会增加两个生命周期:actived disactived
$nextTick:
页面渲染完,执行回调函数里面的操作
一般用于首屏加载