VUE的生命周期
在说父子组件的生命周期之前,先了解一下单个组件的生命周期
然后在说一下父子组件生命周期的顺序
首先是
1.父组件 beforeCreate
2.父组件 created
3.父组件 beforeMount
4.子组件 beforeCreate
5.子组件 created
6.子组件 beforeMount
7.子组件 mounted
8.父组件mounted
…
这样记忆有点乱,而且很容易记混
Vue的生命周期分为了三个阶段:初始化阶段,更新阶段,销毁Vue的实例,每个阶段又有着自己的钩子函数
初始化阶段钩子函数:
beforeCreate()实例创建前:数据和模板均未获取到
created()实例创建后:最早可以访问到data数据,但模板未获取到
beforeMount()挂载数据前:模板已经获取到,但是数据未挂载到模板上
mounted()数据挂载后:数据已经挂载到模板中
更新阶段钩子函数:
beforeUpdate() 模板更新前:data改变后,更新模板前调用
updated()模板更新后:将data渲染到数据模板中
销毁阶段钩子函数:
beforeDestory()实例销毁前
destoryed()实例销毁后
这样的话我们可以从原理来理解,
首先执行父子件初始化阶段钩子,但是到数据挂载的时候,就会发现里面有子组件,因为要将子组件的数据
挂载到父组件上,但是子组件还没有创建,于是开始创建子组件,并进行相应的钩子函数。
看到这里在看上面的执行顺序是不是容易记忆多了,而且也不会混乱!