美文网首页前端
VUE实例生命周期钩子

VUE实例生命周期钩子

作者: 阿拉斯加南海岸线 | 来源:发表于2019-01-28 16:10 被阅读3次

1、vue实例生命周期钩子的由来

每个vue应用都是通过vue函数创建一个新的vue实例开始的:

var vm = new Vue({
  //选项
})

vue实例再被创建时都要经过一系列的初始化过程——从开始创建、初始化数据、编译模板、挂载dom、渲染-更新渲染、卸载等一系列过程,称之为vue的生命周期,通俗来说vue实例从创建到销毁的过程,就是生命周期。

2、生命周期详解

lifecycle.png

官网展示的这张实例的生命周期图示。在这些生命周期钩子的函数中,给用户在不同阶段添加自己带吗的机会。
比如created钩子用来在一个实例被创建后执行代码:

 new Vue({
  data: {
    a: 1
  },
  created: function () {
    // `this` 指向 vm 实例
    console.log('a is: ' + this.a)
  }
})
// => "a is: 1"

提供的钩子包括:

  • beforeCreate:创建前
    实例、组件通过new Vue() 创建出来之后会初始化事件和生命周期,然后就会执行beforeCreate钩子函数,这个时候,数据还没有挂载呢,只是一个空壳,无法访问到数据和真实的dom,一般不做操作。
  • created:创建后
    挂载数据,绑定事件等等,然后执行created函数,这个时候已经可以使用到数据,也可以更改数据,在这里更改数据不会触发updated函数,在这里可以在渲染前倒数第二次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取。
  • beforeMount:挂载前
    接下来开始找实例或者组件对应的模板,编译模板为虚拟dom放入到render函数中准备渲染,然后执行beforeMount钩子函数,在这个函数中虚拟dom已经创建完成,马上就要渲染,在这里也可以更改数据,不会触发updated,在这里可以在渲染前最后一次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取。
  • mounted:挂载后
    接下来开始render,渲染出真实dom,然后执行mounted钩子函数,此时,组件已经出现在页面中,数据、真实dom都已经处理好了,事件都已经挂载好了,可以在这里操作真实dom等事情。
  • beforeUpdate:更新前
    当组件或实例的数据更改之后,会立即执行beforeUpdate,然后vue的虚拟dom机制会重新构建虚拟dom与上一次的虚拟dom树利用diff算法进行对比之后重新渲染,一般不做什么事儿。
  • updated:更新后
    由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
    当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。然而在大多数情况下,你应该避免在此期间更改状态,因为这可能会导致更新无限循环。
  • beforeDestroy:销毁前
    实例销毁之前调用。在这一步,实例仍然完全可用。一般在这里做一些善后工作,例如清除计时器、清除非指令绑定的事件、保存数据等操作。
  • destroyed:销毁后
    Vue 实例销毁后调用。组件的数据绑定、监听...去掉后只剩下dom空壳,这个时候,执行destroyed,在这里做善后工作也可以。

相关文章

  • Vue生命周期

    Vue生命周期 实例生命周期钩子 每个Vue实例在被创建时都要经过一系列的初始化过程。 8种钩子函数 before...

  • 10、Vue_生命周期

    实例的生命周期 实例的生命周期图示(选项/生命周期钩子)实例生命周期 解释1.var v = new Vue{}:...

  • vue生命周期

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

  • 一、vue基础知识点

    每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的: 实例生命周期钩子 每个 Vue 实例...

  • vue的生命周期详解

    vue生命周期的钩子1.根组件实例:8个钩子 (beforeCreate、created、beforeMount、...

  • vue知识总结

    vue attribute 是元素标签的属性,property 是元素对象的属性 vue实例 实例生命周期钩子 每...

  • VUE实例生命周期钩子

    1、vue实例生命周期钩子的由来 每个vue应用都是通过vue函数创建一个新的vue实例开始的: vue实例再被创...

  • Vue生命周期中钩子函数整理

    什么是生命周期? Vue实例从创建到销毁的过程。 Vue钩子 Vue(2.x)的一个生命周期中有11个钩子,接下来...

  • vue02

    vue02 vue生命周期 1.0钩子函数: created -> 实例已经创建 √ beforeComp...

  • 初探Vue实例的生命周期

    Vue实例的生命周期简单地理解为8个钩子函数 Vue实例对每个钩子函数的调用时机如下 beforeCreate 在...

网友评论

    本文标题:VUE实例生命周期钩子

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