vue的生命周期

1.beforeCreate:

在实例初始化之后,进行数据监听和事件/侦听器的配置之前同步调用

在这里插入图片描述

在这里插入图片描述

从实现效果可以看到Vue的实例已经被初始化出来了,但是上面的数据,方法,事件等还是没有,显示为undefined。

2.created:

在实例创建完后被立即同步调用。在这一步中,实例已完成对选项的处理,意味这一下内容已被配置完毕
数据侦听,计算属性,方法,事件/侦听器的回调函数。然而挂载阶段还没开始

在这里插入图片描述

在这里插入图片描述

可以看出来数据侦听,计算属性,方法,事件/侦听器的回调函数。然而挂载阶段还没开始,因为页面上还没有显示哦

3.beforeMount:

在挂载开始之前被调用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FV359YSw-1655176359090)(https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=6b6f5ae8158e76052463602fcf05c545)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fl8yD5VH-1655176359091)(https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=7fb08116ec133815d2c5e0aad7b821d8)]

这个是在开始挂载之前被调用的

4.mounted:

实例被挂载后调用,这是 el 被创建的 vm.$el 替换。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BpF0Xj8n-1655176359092)(https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=48e3d91a4d8c0f0670b3412c84efff69)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uo5VWaGt-1655176359092)(https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=7c18da1629cec8da4a48dacd7cda2094)]

可以看到现在的div#app里面还是空的
如果你希望等整个视图都渲染完毕在执行某些操作,可以在mounted内部使用 vm.$nextTick
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eRcVibcB-1655176359093)(https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=c3b09e42e5cdfb802a541835884db70f)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SQ9n8cHT-1655176359094)(https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=d57c4db3160bc6045f6e38fd68cb2550)]

可以清楚的看到app里面的所有东西全部被渲染完成才调用

5.beforUpdata:

在数据发生改变后,DOM被更新之前被调用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HMcnHqRY-1655176359094)(https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=64dea616b2306b161af36337ef055aab)]

6.updated:

在数据更改导致的虚拟DOM重新渲染和更新完毕之后被调用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YHbUW8AF-1655176359095)(https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=8c2f6e313093d3a69f0703a104868fe5)]

定义一个方法点击改变data数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-afNQ0Edi-1655176359096)(https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=170d7073c653c4c20fe0ea0472917e36)]

绑定到元素上
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gzAL3VrA-1655176359097)(https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=b78e67dd6f651a682b6975a666fb334b)]

现在我们可以看到实现的效果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BiUKy0v4-1655176359098)(https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=3efb3ccaacbd0ce0731d5664c804f42d)]

我们成功的触发了重新渲染虚拟DOM的生命周期函数,但是还存在一个问题就是并不是等全部渲染完才执行的,那么如果想要虚拟DOM全部渲染完成才运行的话,其实也很简单,就是和上面的 mounted 一样使用 vm.$nextTick

7.beforDestroy:

实例销毁之前调用。在这一步,实例仍然完全可用

8.destroyed:

实例销毁后调用。该钩子被调用后,对应Vue实例的所有指令都被解绑

注:

在写这个的时候还是没想到怎么触发这个销毁前后的生命周期函数!

vm.$nextTick( [callback] ):

用法:将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值