VUE之生命周期

在vue中存在“两个生命周期”:vue实例生命周期,组件生命周期。

什么是生命周期?

简单来说生命周期就是指一个对象的生老病死。当然我们这里肯定不是啦。在vue中生命周期指的是从beforeCreate到destroyed的过程。

生命周期中的钩子函数
vue的生命周期中包括这些钩子函数,分别是:beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed。
1 beforeCreate:此时vue实例还没有创建,因此是访问不到data数据的。此时dom树没有生成。截图中dom为undefined

 beforeCreate(){
     console.log("beforeCreate",this.test)
 },

在这里插入图片描述
2 created::vue实例创建完毕,此时可以获取、修改data的值,同时也是最早能够发送ajax请求的阶段。此时dom树没有生成。

created(){
    this.test = 'dddd';
    console.log("created",this.test)
}

在这里插入图片描述
3 beforeMount:挂载之前,此时可以获取,修改data值,但是dom数据还没有渲染。此阶段修改数据不会触发beforeUpdate和updated两个钩子函数

beforeMount(){
    console.log("beforeMount");
    console.log("beforeMount:",this.test);
    console.log('dom:',this.$el);
},

在这里插入图片描述
4 mounted: 挂载完毕,此时dom数据渲染完毕,数据可以获取,修改,并且此阶段修改数据会触发beforeUpdate和updated两个钩子函数

mounted(){
    console.log("mounted");
    console.log("mounted:",this.test);
    console.log('dom:',this.$el);
}

在这里插入图片描述
5 beforeUpdate和updated: 触发时机,beforeMount中修改data中的值不会触发beforeUpdate钩子函数,只有在mounted中修改的才会触发beforeUpdate钩子函数(不能再自身去修改,导致死循环)

6 beforeDestroy和destroyed: 销毁实例,分情况说明。(beforeCreate阶段不能执行销毁)
###created阶段就销毁,此时dom树未渲染,但是仍然可以访问vue实例中的data。
在这里插入图片描述
###beforeMount阶段销毁,此时数据未渲染,实例能够正常访问
在这里插入图片描述
###mounted阶段销毁,挂载完毕,数据渲染完毕。
在这里插入图片描述


实例中的生命周期和组件中的生命周期对比

1 实例中的生命周期:
生命周期过程图解:
在这里插入图片描述
代码演示生命周期创建的顺序:

1 从根组件到孙子组件依次创建,由外向内
在这里插入图片描述

2 生命周期中数据的挂载顺序
可以看到从孙子 组件到根组件依次挂载,有内向外
在这里插入图片描述
3 生命周期中数据更新的顺序:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值