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>
热门推荐
研究发现:60岁是健康转折点,这些事要做好
新生儿按需喂养全攻略:从姿势到频率的科学指导
鱼吃鱼生存模式:如何选择鱼类并赢得冠军?
龙牙百合:900年传承的养生药用珍品
龙牙百合:900年传承的养生珍品,富含秋水仙碱
龙牙百合:900年养生珍品,富含秋水仙碱功效卓著
哪些食物嘌呤含量高?如何降低嘌呤摄入?
《2024年青年婚恋观念及趋势调查报告》:00后更想早婚,社交媒体成婚恋新渠道
红烧肉制作详解:选材、炒糖色、慢炖三大关键步骤
如何优化人才系统以提升组织人力资源管理效率与效果?
一文读懂纽约婚内财产协议:从起草到执行的关键要点
从功效到选购:一文读懂如何科学补充钙片
冬季堵车时开启ECO模式,省油10%-15%还更舒适
双堆芯设计创新,中国攻克核废料处理世界难题
姚晨马伊琍双女主飙戏,<找到你>揭示女性生存困境
日本再排核污染水入海,专家警告将危及海洋生态与人类健康
甲流高发季,这些营养素是提升免疫力的关键
重庆玉溪镇:红薯粉条产业带动百人就业,集体经济增收800万
雅加达和泗水医疗升级,印尼健康保障再上新台阶
甲流高发期,社区卫生中心备足奥司他韦和玛巴洛沙韦
职场管理知识教你化解团队冲突
从福建大哥案例看红薯:钾元素助力心血管健康
裁员风暴后,如何快速恢复职场心态?
芝士焗红薯、红薯糕:三种创意烤红薯详细教程
勿忘我花的文化密码:从神话传说到现代应用
勿忘我花语:跨越文化的情感寄托,象征忠诚与思念
勿忘我花:承载思念与承诺,从神话到现代的艺术象征
一秒破防!顶级情话大全,让表白变得简单真挚
高雄十大必游景点:佛光山、莲池潭到流行音乐中心
2024年部分养老金变动,养老保险缴费档次调整,看看你都知道吗?