vue 生命周期


vue生命周期详解

1、new Vue()

通过 new创建一个Vue实例

2、beforeCreate

$eldata都是undefined

 beforeCreate() {
    console.log("beforeCreate");
    console.log(this.$el);
    console.log(this.$data); 
 },

打印结果:
在这里插入图片描述
beforeCreate之后,created之前 初始化数据和方法

3、created

$el仍然是undefined,而此时data初始化为一个对象,注:修改data,不会update视图。

 created() {
    console.log("created");
    console.log(this.$el);
    console.log(this.$data);
 },

打印结果:
在这里插入图片描述

4、模板编译

判断有没有el项(vm.$mount(el)),判断有没有模板(没有将el外层的HTML当模板),将模板编译成渲染函数,返回虚拟DOM。

5、beforeMount

$el是一个虚拟DOM,虚拟DOM其实就是一个js对象;此时页面还没有渲染出来,data为一个对象,注:修改data,不会update视图。

  beforeMount() {
    console.log("beforeMount");
    console.log(this.$el);
    console.log(this.$data);
  },

打印结果:
在这里插入图片描述
beforeMount之后,mounted之前 创建真实的DOM,并替换虚拟DOM,这一过程,具体可见:vue源码系列

6、mounted

$el是真实的DOM,渲染在页面上。data为一个对象,此时:修改data,会update视图。

  mounted() {
    console.log("mounted");
    console.log(this.$el);
    console.log(this.$data);
  },

结果打印:
在这里插入图片描述

7、beforeUpdate和updated

data改变,重新渲染虚拟DOM,并通过diff算法找出不同之处,再更新真实的DOM。

8、beforeDestory和destoryed

清除事件,数据,监听等,Vue实例不可用。


总结

以上是本人对vue生命周期的浅理解,如有不正确的地方,望指出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值