Vue2生命周期详解:从创建到销毁的完整流程
创作时间:
作者:
@小白创作中心
Vue2生命周期详解:从创建到销毁的完整流程
引用
CSDN
1.
https://blog.csdn.net/weixin_41192489/article/details/136549141
beforeCreate
开始创建
- 在内存中创建出空白的 vue 实例
- data 和 methods 属性还没初始化,不能调用
- 数据观测 (data observer) 和 event/watcher 事件配置还没调用
【执行数据观测 (data observer) 和 event/watcher 事件配置】
created
- vue 实例初始化完成,完成响应式绑定
- data 和 methods 属性初始化完成,可以调用
- 可以进行Ajax请求
- 已完成数据观测 (data observer),property 和方法的运算,watch/event 事件回调。
- 还没开始编译模板
【在内存中编译模板】
beforeMount
服务器端渲染无此生命周期
- 编译模板,首次调用 render 生成 vdom
- 还没有开始渲染 DOM
【挂载模板到页面】
mounted
结束创建 服务器端渲染无此生命周期
mounted 不保证所有的子组件也都一起被挂载,所以如果希望等到整个视图都渲染完毕,需在 mounted 内部使用 vm.$nextTick
至此,实例结束创建期,进入运行期,等待数据发生变化。
【数据变化】—— 触发 beforeUpdate 和 updated
beforeUpdate
开始更新
- 状态更新时触发
- 此时data 中的状态值是最新的,但是界面上显示的数据还是旧的
- 准备更新 DOM (尚未更新 DOM )
【更新页面】
updated
结束更新
- DOM 更新完成 (此时 data 中的状态值 和 界面上显示的数据,都已经完成了更新 )
- 不要在 updated 中修改 data,可能会导致死循环
可用于子组件向父组件传递数据的变化
updated(){
this.$emit('contentChange',this.content)
},
beforeDestroy
开始销毁
常用于清除定时器、解绑全局事件、自定义事件
【销毁实例】
destroyed
结束销毁
- 父组件 created
- 子组件 created (外到内)
- 子组件 mounted
- 父组件 mounted (内到外)
- 子组件 updated
- 父组件 updated (内到外)
- 子组件 destroyed
- 父组件 destroyed (内到外)
范例代码
src\views\index.vue
<template>
<div>
<Child :num="num" />
<button @click="add_num">+1</button>
</div>
</template>
<script>
import Child from "./child.vue";
export default {
components: {
Child,
},
data() {
return {
num: 0,
};
},
methods: {
add_num() {
this.num += 1;
},
},
created() {
console.log("父组件 created");
},
mounted() {
console.log("父组件 mounted");
},
updated() {
console.log("父组件 updated");
},
destroyed() {
console.log("父组件 destroyed");
},
};
</script>
src\views\menu\child.vue
<template>
<div>
{{ num }}
</div>
</template>
<script>
export default {
props: {
num: Number,
},
created() {
console.log("子组件 created");
},
mounted() {
console.log("子组件 mounted");
},
updated() {
console.log("子组件 updated");
},
destroyed() {
console.log("子组件 destroyed");
},
};
</script>
热门推荐
广东除湿秘诀:生活饮食运动三管齐下
冬春交替咳痰多发,6大措施守护呼吸道健康
如何选择不影响网页显示的Chrome插件?
元旦打卡剑门蜀道,感受千年蜀道的魅力
四川达州十大景点:罗浮山、仙女山展现2300年名城风采
Y迷宫实验:揭秘动物认知功能的神经科学利器
黄芪泡水真能降血糖?专家:效果不确定,科学降糖更重要
告别社交尴尬:各类场合问候语实用指南
五种食物科学降脂:大蒜燕麦等,临床证实有效
京东互联网医院教你读懂甲状腺结节穿刺报告
2024中国大学保研率榜单:清华领跑,双非院校异军突起
呼和浩特白塔:一座见证草原丝路兴衰的千年古塔
当心!自恋型领导的四大操控术与破解之道
扑尔敏的功效与作用及副作用是什么
琼瑶的生死观:童年阴影与遗嘱背后的心声
静香的逆袭:从温柔女孩到团队领袖
深圳国际学校最新分级:四大梯队助力精准择校
乘机携带食物新规:饼干坚果放开带,液体仍限100ml
食管癌免疫治疗和靶向治疗:原理、药物及不良反应全解析
失眠药物治疗指南:首选非苯二氮䓬类,关注特殊人群用药
掌握集合竞价分时图:查看方法与交易策略详解
甲钴胺治疗渐冻症获重大突破,可延长患者生存期500天
糖尿病患者的运动指南:下午运动效果最佳
秋冬暖心必备:冰糖炖雪梨的完美制作指南
1分米等于10厘米,这两个长度单位如何正确使用
秋色漓江:乌桕滩、龙脊梯田最佳观赏期,完整攻略来了
腹泻常用药绿梅止泻颗粒,这样使用才安全有效
数智龙江:积厚成势、向新而行,走出可持续振兴新路子
香蕉酸奶生姜:缓解胃胀气的科学饮食方案
杜仲茶降压效果获临床证实,可作为高血压辅助治疗