1. Vue2 生命周期函数一览
生命周期 | 描述 |
---|---|
beforeCreate | 组件实例被创建之初,data 和 methods 中的数据还没有初始化 |
created | 组件实例已经完全创建,data 和 methods 都已经初始化好了 |
beforeMount | 模板渲染,相关的 render 函数首次被调用,模板已经在内存中编译好了,但是尚未挂载到页面中去 |
mounted | el 被新创建的 vm.e l 替 换 , 真 实 d o m 已 经 生 成 ,el 可用,组件脱离创建阶段,进入运行阶段 |
beforeUpdate | 组件数据更新之前调用, 此时页面中显示的数据还是旧的,但 data 是最新的,页面尚未和最新的数据保持同步 |
update | 组件数据更新之后,页面和 data 数据已经保持同步,都是最新的 |
beforeDestory | 组件销毁前调用,vue 实例从运行阶段进入到销毁阶段,这时 vue 实例身上所有都可用,还没有真正执行销毁 |
destoryed | 组件销毁后调用,vue 实例上的所有都不可以用了 |
activited | keep-alive 专属,组件被激活时调用 |
deactivated | keep-alive 专属,组件被销毁时调用 |
2. created和mounted做了什么,网络请求应该放在哪里?
created 实现了 data ,mounted 实现了虚拟dom 并数据渲染在界面上。
网络请求放在哪个都可以,但是操作虚拟dom一定要放在mounted,或者要使用nextTick();
3. 使用了keep-alive组件,生命周期如何经历?
(1)进入
beforeCreated
created
beforeMounted
mounted
activated
(2)离开
deactivated
(3)再进入 (类似uniapp或微信小程序的onShow)
activated