欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于Vue实例生命周期(全面解析)

程序员文章站 2022-11-26 12:31:06
前面的话 vue实例在创建时有一系列的初始化步骤,例如建立数据观察,编译模板,创建数据绑定等。在此过程中,我们可以通过一些定义好的生命周期钩子函数来运行业务逻辑。本文将详...

前面的话

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>
基于Vue实例生命周期(全面解析)

以上这篇基于vue实例生命周期(全面解析)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。