美文网首页
Vue的生命周期

Vue的生命周期

作者: my木子 | 来源:发表于2021-04-13 22:04 被阅读0次

Vue的生命周期

  • Vue的生命周期就是Vue从创建到销毁的过程,从开始创建、初始化数据、编译模板、挂载DOM -> 渲染、更新 -> 渲染、销毁等一系列过程
  • 生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻辑

阶段

  • beforeCreate 是 new Vue() 之后触发的第一个钩子,在当前阶段 data、methods、computed 以及watch上的数据和方法都不能被访问。可以在这个阶段加个loading事件,在加载实例时触发。

  • created 在实例创建完成后发生,当前阶段已经完成了数据观测,也就是可以使用数据,更改数据,在这里更改数据不会触发 updated 函数。可以做一些初始数据的获取,在当前阶段无法与 DOM 进行交互,如果非要想,可以通过 vm.$nextTick 来访问 DOM。初始化完成时的事件写在这里,如在这结束 loading 事件,异步请求也适宜在这里调用。服务器渲染 SSR 不支持 beforeMount 、mounted 钩子函数,所以放在 created 中有助于一致性。

  • beforeMount 发生在挂载之前,在这之前 template 模板已导入渲染函数编译。而当前阶段虚拟DOM已经创建完成,即将开始渲染。在此时也可以对数据进行更改,不会触发 updated。

  • mounted 在挂载完成后发生,在当前阶段,真实的DOM挂载完毕,数据完成双向绑定,可以访问到DOM节点,使用$refs属性对DOM进行操作。

  • beforeUpdate 发生在更新之前,也就是响应式数据发生更新,虚拟DOM重新渲染之前被触发,你可以在当前阶段进行更改数据,不会造成重渲染。

  • updated 发生在更新完成之后,当前阶段组件DOM已完成更新。要注意的是避免在此期间更改数据,因为这可能会导致无限循环的更新。如果对数据统一处理,在这里写上相应函数。

  • beforeDestroy 发生在实例销毁之前,在当前阶段实例完全可以被使用,我们可以在这时进行善后收尾工作,比如清除计时器,销毁父组件对子组件的重复监听。

  • destroyed 发生在实例销毁之后,这个时候只剩下了DOM空壳。组件已被拆解,数据绑定被卸除,监听被移出,子实例也统统被销毁。

父子组件生命周期钩子函数执行顺序

  • 加载渲染过程
    1. 父组件 beforeCreate => created => beforeMount
    2. 子组件 beforeCreate => created => beforeMount => mounted
    3. 父组件 mounted
  • 更新过程
    1. 父组件 beforeUpdate
    2. 子组件 beforeUpdate
    3. 子组件 updated
    4. 父组件 updated
  • 销毁过程
    1. 父组件 befoeDestroy
    2. 子组件 beforeDestroy
    3. 子组件 destroy
    4. 父组件 destroy

keep-alive 的生命周期

  • 页面初次进入时,钩子触发的顺序是 created => mounted => activated,退出后触发 deactivated
  • 当再次前进或者后退的时候只触发 activated

相关文章

  • vue生命周期

    一 vue生命周期 Vue的生命周期:就是vue实例从创建到销毁的全过程 二 vue生命周期钩子 vue生命周期...

  • vue生命周期

    vue生命周期详: vue生命周期详解图: vue生命周期详解代码展示:

  • Vue生命周期

    Vue生命周期详解 一、Vue生命周期 与 作用 (生命周期钩子就是生命周期函数) (1)Vue生命周期:每个Vu...

  • vue3较vue2的特别之处 - 生命周期

    vue2 生命周期 vue3 生命周期 将 Vue2 的生命周期钩子代码更新到 Vue3 参考地址:https:/...

  • 前端之路-VUE面试题

    vue生命周期面试题vue 生命周期是什么? Vue 实例从创建到销毁的过程,就是生命周期 beforeCreat...

  • Vue.js入门(二):生命周期

    1 生命周期 Vue生命周期是Vue实例从创建到销毁的过程,就是生命周期。在Vue实例的生命周期过程中会运行生命周...

  • vue生命周期

    vue里的生命周期是什么? vue实例从创建到销毁的过程称之为vue的生命周期 vue的生命周期各阶段都做了什么?...

  • Vue 生命周期

    vue里的生命周期是什么? vue实例从创建到销毁的过程称之为vue的生命周期 vue的生命周期各阶段都做了什么?...

  • vue学习记录

    vue全家桶 vue生命周期 生命周期的理解 新建项目 ①:cnpm install vue-cli -g (全...

  • vue生命周期

    vue1--》 一 vue的生命周期如下图所示 二 vue生命周期的例子 注意触发vue的created事件以后,...

网友评论

      本文标题:Vue的生命周期

      本文链接:https://www.haomeiwen.com/subject/hlxbkltx.html