vue生命周期总结

 

  • beforeCreate
  • created
  • beforeMount
  • mounted
  • beforeUpdate
  • updated
  • beforeDestroy
  • destroyed

1、在beforeCreate和created这个生命周期之间,进行初始化事件,进行数据的观测,可以看到在created的时候数据已经和data属性进行绑定(放在data中的属性当值发生改变的同时,视图也会改变)。此时还是没有el选项

2、在created和beforeMount首先会判断对象是否有el选项。如果有的话就继续向下编译,如果没有el选项,则停止编译,也就意味着停止了生命周期,直到在该vue实例上调用vm.$mount(el)。

render函数选项 > template选项 > outer HTML.

3、beforeMount和mounted 钩子函数间的生命周期。给vue实例对象添加$el成员,并且替换掉挂在的DOM元素。beforeMount方法中$el还未被创建,这期间VUE先后生成两份模板,所以在beforeMount之前只是虚拟的,并未真实存在

4、mounted。在mounted之前中还是通过{{message}}进行占位的,因为此时还有挂在到页面上,还是JavaScript中的虚拟DOM形式存在的。

5、 beforeUpdate钩子函数和updated钩子函数间的生命周期

  beforeUpdate,可以监听到data的变化但是view层没有被重新渲染,view层的数据没有变化。等到updated的时候 view层才被重新渲染,数据更新。

  当vue发现data中的数据发生了改变,会触发对应组件的重新渲染,先后调用beforeUpdate和updated钩子函数。

  beforeUpdate、updated函数的触发点并不是数据改变,而是视图改变,up更新message之后,导致触发beforeUpdate、updated函数,是因为视图中有{{message}}。可以将视图中的{{message}}删除后,更新message的值,发现            beforeUpdate、updated函数,并未触发。因为删除了视图中的{{message}}删除后 没有了观察者 自然就不会触发观察者的update 

6、beforeDestroy和destroyed钩子函数间的生命周期

beforeDestroy钩子函数在实例销毁之前调用。在这一步,实例仍然完全可用。
destroyed钩子函数在Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。

posted @   Fujijill  阅读(49)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示