1.什么是生命周期
Vue实例从创建到销毁的过程,叫生命周期。 从开始创建、初始化数据、编译模版、挂载Dom-渲染、更新-渲染、销毁等过程。
2.生命周期一共有几个阶段
创建前/后, 载入前/后,更新前/后,销毁前/销毁后
3.初始化相关属性
- beforeCreate(创建前):在数据观测和初始化事件还未开始。
在实例初始化之后,数据观测和事件配置之前被调用
- created(创建后):完成数据观察,属性和方法的运算,初始化事件,$el属性还没有显示出来。
在实例创建完成后被立即调用
- beforeMount(载入前):在挂载开始之前被调用,相关的render函数首次被调用。实例已完成编译模板,data里的数据和模板生成html。注意此时还没有挂载到页面上。
在挂载开始之前被调用
- mounted(载入后):在el被新创建的vm.$el 替换,并挂在到实例上之后调用。实例已完成:用上面编译好的html内容替换el属性指向的DOM对象。完成模板中的html渲染到页面上。这个过程已和ajax交互。
el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子
DOM在该生命周期中渲染已完成
4.更新
- beforeUpdate(更新前):在数据更新之前调用,发生在虚拟DOM重新渲染和打补丁之前。可以在该生命周期中进一步更改状态,不会触发重新渲染过程。
数据更新时调用,发生在虚拟DOM打补丁之前
- updated(更新后):在数据更改导致的虚拟DOM重新渲染和打补丁之后调用。组件已更新,所以可以执行依赖于DOM的操作。避免在此期间更改状态,因为会导致更新无限循环,该钩子在服务器端渲染期间不被调用。
由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子
5.销毁
- beforeDestroy(销毁前):在实例销毁之前调用。
实例销毁之前调用
- destroyed(销毁后):在实例销毁之后调用。调用后所有的时间监听器会被移除,所有的子实例也会被销毁。该钩子在服务器端渲染期间不被调用。
实例销毁后调用文章来源:https://www.toymoban.com/news/detail-707179.html
6.页面第一次加载会触发哪几个钩子
beforeCreate / created / beforeMount / mounted文章来源地址https://www.toymoban.com/news/detail-707179.html
到了这里,关于vue 知识点———— 生命周期的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!