vue的生命周期函数

参考网址: https://www.cnblogs.com/Syinho/p/12482012.html

什么是生命周期函数

在vue实例化过程中的某个时间点会自动触发的函数

生命周期的三个阶段及相关的钩子

创建阶段

  • beforeCreate

  • created

  • beforeMount

  • mounted

运行阶段

  • beforeUpdate
  • updated

销毁阶段

  • beforeDestroy
  • destroyed

每个生命周期函数的特点

beforeCreate
创建之前,在beforeCreate生命周期执行的时候,data和methods中的数据都还没有初始化,不能访问data数据

beforeCreate(){
    console.log('beforeCreate',this.msg);
},

created
创建之后,data和methods中的数据已经初始化,此时可以访问data数据
一般在这个函数中发起ajax请求

created(){
    console.log('created',this.msg);
},

beforeMount
挂载之前,表示模板已经在内存中编译完成,但尚未把模板渲染到页面中。
此时还没有渲染用数据生成的新dom

beforeMount(){
    console.log('beforeMount',this.$el);
},

mounted
表示内存中的模板,已经真实的挂载到了页面中,用户已经可以看到渲染好的页面了
此时可以访问dom

mounted(){
    console.log('mounted',this.$el);
},

beforeUpdate
当且仅当data被修改时才触发这个生命周期函数,但此时仅仅是数据被修改,页面还未更新。

beforeUpdate(){
    console.log('beforeUpdate',this.msg);
    console.log('beforeUpdate',this.$el.innerHTML);
},

updated
会根据新数据生成最新的内存DOM树,重新渲染到真实的页面中去,
此时的data数据和页面已完成同步

updated(){
    console.log('updated',this.$el.innerHTML);
},

beforeDestroy
当执行beforeDestory钩子函数的时候,Vue实例就已经从运行阶段,进入到了销毁阶段。
当执行beforeDestory的时候,实例身上所有的data和所有的methods,以及过滤器、指令...都处于可用状态,此时还没有真正执行销毁过程。

beforeDestroy(){
    console.log('beforeDestroy');
},

destroyed
当执行到destoryed函数的时候,组件已经被全部销毁了,data与methods均不可用。
更改data数据,页面不会更新

destroyed(){
    console.log('destroyed');
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • beforeCreate 第一个生命周期函数,表示实例完全被创建出来之前,会执行它 注意: 在 beforeCre...
    donzi阅读 1,852评论 0 0
  • 什么是 vue 生命周期 vue生命周期是指vue实例对象从创建之初到销毁的过程,vue所有功能的实现都是围绕其生...
  • 先看完函数介绍,在看下面的生命周期函数图示把 beforeCreate 第一个生命周期函数,表示实例完全被创建出来...
    IT小池阅读 4,369评论 0 13
  • beforeCreate 第一个生命周期函数,表示实例完全被创建出来之前,会执行它注意: 在 beforeCrea...
    w晚风阅读 13,034评论 0 7
  • 生命周期函数(钩子)(事件) 生命周期图示 var vm= new Vue表示开始创建一个vue实例 init E...
    2764906e4d3d阅读 5,927评论 0 0