Vue实例生命周期

前面的话

  Vue实例在创建时有一系列的初始化步骤,例如建立数据观察,编译模板,创建数据绑定等。在此过程中,我们可以通过一些定义好的生命周期钩子函数来运行业务逻辑。本文将详细介绍Vue实例的生命周期

图示

  下图是Vue实例生命周期的图示

解释

  接下来,根据提供的生命周期钩子,对Vue实例各个阶段的情况进行详细说明

【beforeCreate】

  在实例开始初始化时同步调用。此时数据观测、事件等都尚未初始化

【created】

  在实例创建之后调用。此时已完成数据观测、事件方法,但尚未开始DOM编译,即未挂载到document中

【beforeMount】

  在mounted之前运行

【mounted】

  在编译结束时调用。此时所有指令已生效,数据变化已能触发DOM更新,但不保证$el已插入文档  

【beforeUpdate】

  在实例挂载之后,再次更新实例(例如更新 data)时会调用该方法,此时尚未更新DOM结构

【updated】

  在实例挂载之后,再次更新实例并更新完DOM结构后调用

【beforeDestroy】

  在开始销毁实例时调用,此刻实例仍然有效

【destroyed】

  在实例被销毁之后调用。此时所有绑定和实例指令都已经解绑,子实例也被销毁

【activated】

  需要配合动态组件keep-live属性使用。在动态组件初始化渲染的过程中调用该方法

【deactivated】

  需要配合动态组件keep-live属性使用。在动态组件初始化移出的过程中调用该方法

简单实例

  下面写一个简单实例来更清楚地了解Vue实例内部的运行机制

<div id="example">{{message}}</div>
<script>
var vm = new Vue({
  el: ‘#example‘,
  data:{
    message:‘match‘
  },
  beforeCreate(){
    console.log(‘beforeCreate‘);
  },
  created(){
    console.log(‘created‘);
  },
  beforeMount(){
    console.log(‘beforeMount‘);
  },
  mounted(){
    console.log(‘mounted‘);
  },
  beforeUpdate(){
    console.log(‘beforeUpdate‘);
  },
  updated(){
    console.log(‘updated‘);
    //组件更新后调用$destroyed函数,进行销毁
    this.$destroy();
  },
  beforeDestroy(){
    console.log(‘beforeDestroy‘);
  },
  destroyed(){
    console.log(‘destroyed‘);
  },
})
</script>

时间: 2024-10-08 10:34:52

Vue实例生命周期的相关文章

Vue实例生命周期+vueRoter

Vue实例生命周期 vue生命周期之beforeCreate 实例创建之前除标签外,所有的vue需要的数据,事件都不存在 vue生命周期之created 实例创建之后,data和事件已经被解析到,el还没有找到 vue生命周期之beforeMount 开始找标签,数据还没有被渲染,事件也没有被监听 vue生命周期之mounted 开始渲染数据,开始监听事件 vue生命周期之beforeUpdata 数据已经被修改在虚拟DOM,但没有被渲染到页面上 vue生命周期之updata 开始使用Diff算

vue实例生命周期详解

每个 Vue 实例在被创建之前都要经过一系列的初始化过程. 例如,实例需要配置数据观测(data observer).编译模版.挂载实例到 DOM ,然后在数据变化时更新 DOM . 在这个过程中,实例也会调用一些 生命周期钩子 ,这就给我们提供了执行自定义逻辑的机会.例如,created 这个钩子在实例被创建之后被调用 var vm = new Vue({ data: { a: 1 }, created: function () { // `this` 指向 vm 实例 console.log

【Vue实例生命周期】 -- 2019-08-08 18:01:29

目录 实例创建之前执行--beforeCreate 实例创建之后执行--created 挂载之前执行--beforeMount 挂载之后执行--mounted 数据更新之前执行--beforeUpdate 数据更新之后执行--updated 实例销毁之前执行--beforeDestroy 实例销毁之后执行--destroyed keep-alive组件激活时执行--activated keep-alive组件停用时执行--deactivated 原文: http://106.13.73.98/_

【Vue实例生命周期】 -- 2019-08-09 12:10:28

目录 实例创建之前执行--beforeCreate 实例创建之后执行--created 挂载之前执行--beforeMount 挂载之后执行--mounted 数据更新之前执行--beforeUpdate 数据更新之后执行--updated 实例销毁之前执行--beforeDestroy 实例销毁之后执行--destroyed keep-alive组件激活时执行--activated keep-alive组件停用时执行--deactivated 原文: http://106.13.73.98/_

【Vue实例生命周期】 -- 2019-08-11 18:47:26

目录 实例创建之前执行--beforeCreate 实例创建之后执行--created 挂载之前执行--beforeMount 挂载之后执行--mounted 数据更新之前执行--beforeUpdate 数据更新之后执行--updated 实例销毁之前执行--beforeDestroy 实例销毁之后执行--destroyed keep-alive组件激活时执行--activated keep-alive组件停用时执行--deactivated 原文: http://106.13.73.98/_

【Vue实例生命周期】 &#591699;

目录 实例创建之前执行--beforeCreate 实例创建之后执行--created 挂载之前执行--beforeMount 挂载之后执行--mounted 数据更新之前执行--beforeUpdate 数据更新之后执行--updated 实例销毁之前执行--beforeDestroy 实例销毁之后执行--destroyed keep-alive组件激活时执行--activated keep-alive组件停用时执行--deactivated 原文: http://blog.gqylpy.co

vue入门:(底层渲染实现render函数、实例生命周期)

vue实例渲染的底层实现 vue实例生命周期 一.vue实例渲染的底层实现 1.1实例挂载 在vue中实例挂载有两种方法:第一种在实例化vue时以el属性实现,第二种是通过vue.$mount()方法实现挂载.不管是哪种挂载都不影响vue实例化组件的执行流程和模式,只是通过vue.$mount()方法实现挂载可以更灵活的实现组件复用和挂载. 1 var vm = new Vue({ 2 el:'挂载元素id',//实例化el属性实现挂载 3 ... 4 }) 5 var vm1 = new Vu

浅谈Vue的生命周期模型

Vue实例从创建到销毁的过程,就是生命周期.Vue的生命周期包括:开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.卸载等一系列过程. 在Vue的整个生命周期中,提供了一系列的事件,可以注册JavaScript方法,达到控制整个过程的目的,在这些javascript方法中的this直接指向的是vue的实例. 在Vue的整个生命周期中,实例可以调用一些生命周期钩子,这提供了执行自定义逻辑的机会. Vue提供的生命周期钩子如下:① beforeCreate在实例初始化之后,数据观测(da

vue的生命周期

这是Vue文档里关于实例生命周期的解释图 那么下面我们来进行测试一下 <section id="app-8"> {{data}} </section> var myVue=new Vue({ el:"#app-8", data:{ data:"aaaaa", info:"nono" }, beforeCreate:function(){ console.log("创建前========&quo