最近在学习Vue.js,感觉实例的生命周期这一部分挺重要的,就抽时间在这里梳理了一下,这里有Vue实例生命周期的官方文档,感兴趣的同学可以参考一下。
Vue生命周期中包括几个生命周期函数:创建前/后、挂载前/后、更新前/后、销毁前/后,下面是图解:
1、beforeCreate()
在执行 beforeCreated() 生命周期函数的时候,Vue 实例中 data 数据和 methods 方法都还没有被初始化。
2、created()
在执行 created() 生命周期函数的时候,Vue 实例中的 data 和 methods 都已经被初始化好了。
如果要操作 data 中的数据,或者调用 methods 中的方法,最早只能在 created() 中进行。
3、beforeMount()
在执行 beforeMount() 生命周期函数的时候,页面中的元素还没有被真正替换过来,只是之前写的一些模板字符 {{msg}}
4、mounted()
mounted() 函数是实例创建期间的最后一个生命周期函数,当执行完 mounted() 函数就表示,实例已经被完全创建好了,内存中的数据已经真实的挂载到了页面中,用户已经可以看到渲染好的页面了。
5、beforeUpdate() 点击修改按钮,使Vue中的msg数据发生改变
在执行 beforeUpdate() 生命周期函数的时候,页面中的显示的数据还是旧的,此时 data 中的数据已经被更新,但是页面尚未渲染出最新的 data 数据。
6、Updated() 点击修改按钮,使Vue中的msg数据发生改变
当 updated() 生命周期函数执行的时候,页面和 data 的数据已经保持同步了,都是最新的。
7、beforeDestory()
当执行 beforeDestory() 生命周期函数的时候,就表示Vue实例已经从运行阶段进入销毁阶段。此时 Vue 实例身上的所有的 data 数据、methods 方法、过滤器、指令......都是可用的状态,还没有被销毁。
8、destoryed()
当执行destoryd()生命周期函数的时候,就表示Vue实例身上的所有的data数据、methods方法、过滤器、指令......都已经被销毁,不可用了