前端面试题-01——Vue2中的生命周期
- beforeCreate:通常用于插件开发中执行一些初始化任务
- created:组件初始化完毕,可以访问各种数据,获取接口数据等
在created中,可以调用data中的数据,以及methods中方法
- beforeMount:在这一步还没有编译模板,子组件还没有加载到页面上,
- mounted:dom已创建,可用于获取访问数据和dom元素,访问子组件等。
在这里所有的组件,以及页面都已经创建成功了
在这里可以对子组件进行方法调用,传参等等,
-
beforeUpdate:此时
view
层还未更新,可用于获取更新前各种状态updated:完成view
层的更新,更新后,所有状态已是最新
在这里,页面中的数据都还是旧数据,如果对页面进行了数据操作或者其他节点操作,页面还不会进行同步, -
updated:到这一步,页面和data里面的数据都已经更新了
-
beforeDestroy:实例被销毁前调用,可用于一些定时器或订阅的取消,
这一步是进入到销毁阶段,但是组件身上的数据、方法、过滤器、定时器都还是可用的,在这一阶段需要对定时器进行清除操作
-
destroy:销毁一个实例。可清理它与其它实例的连接,解绑它的全部指令及事件监听器
到这一阶段,该实例(或者组件)身上的data数据、methods方法、过滤器,都已经不可用了
补充说明:
为什么要在mounted里面才能对子组件进行方法调用父子组件的创建过程,
父组件beforeMount之后,然后开始子组件的beforeCreate——mounted,等子组件挂载完成之后,父组件才算挂载完成
所以只能在mounted里面对子组件进行调用