Vue生命周期详解

Vue生命周期详解目录前言 一 生命周期流程图详解 1 beforeCreate Created2 编辑模板过程 3 beforeMount Mounted4 beforeUpdate Updated5 beforeDestro Destroyed 二 生命周期代码 1 父子组件加载生命周期 2 父子组件更新生命周期 3 父子组件销毁生命周期前言 1 什么是 vue 生命周期 Vue 实例从创建到销毁的过程 就是生命周期 也就是从开始创建 初始化数据 编译模板 挂载 Dom 渲染 更新

目录

前言:

一、生命周期流程图详解

1.beforeCreate、Created

2.编辑模板过程

3.beforeMount、Mounted

4.beforeUpdate、Updated

5.beforeDestroy、Destroyed

二、生命周期代码

1.父子组件加载生命周期

2.父子组件更新生命周期

3.父子组件销毁生命周期


前言:

1、什么是vue生命周期?

Vue 实例从创建到销毁的过程,就是生命周期。也就是从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列过程,我们称这是 Vue 的生命周期。

2、vue生命周期的作用是什么?

让我们在控制整个Vue实例的过程时更容易形成好的逻辑。

3、vue生命周期总共有几个阶段?

它可以总共分为8个阶段:创建前/后, 载入前/后,更新前/后,销毁前/销毁后

4、第一次页面加载会触发哪几个钩子?

第一次页面加载时会触发 beforeCreate, created, beforeMount, mounted 这几个钩子

5、DOM 渲染在 哪个周期中就已经完成?

DOM 渲染在 mounted 中就已经完成了。

一、生命周期流程图详解

1.beforeCreate、Created

Vue生命周期详解

2.编辑模板过程

Vue生命周期详解

3.beforeMount、Mounted

Vue生命周期详解

4.beforeUpdate、Updated

Vue生命周期详解

5.beforeDestroy、Destroyed

Vue生命周期详解

二、生命周期代码

老规矩,先展示生命周期的执行效果

Vue生命周期详解

当点击button控件跳转后,befoeCreate、ceeated、beforeMount和mounted就已经执行了。在添加事件就会更新展示beforUpdate和updated;退出这个界面就执行销毁bdfoeDestroy、destroyed。

展示代码:

 
     
   
     .label-head {   text-align: center;   font-size: 40px; } 
   

整体的函数知道后,遇到父子组件时他们的函数是如何执行的呢?

1.父子组件加载生命周期

父组件:parents

子组件:child、grandson

/*parents的打印代码*/ created () {     console.log('============"parents created":我第一============')   },   beforeMount () {     console.log('============"parents befortemounted"我第二=======')   },   mounted () {     console.log('============"parents mounted"我第九==============')   },   /*child的打印代码*/ created () {     console.log('----------------"child created"我第三-------------')   },   beforeMount () {     console.log('----------------"child beforemounted"我第四-------')   },   mounted () {     this.$parent.panes.push(this)     console.log('----------------"child mounted"我第七-------------')   },   /*grandson的打印代码*/ created () {     console.log('~~~~~~~~~~~~~"grandson created"我第五~~~~~~~~~~~~~')   }   beforeMount () {     console.log('~~~~~~~~~~~"grandson beforemounted"我第六~~~~~~~~~')   },   mounted () {     console.log('~~~~~~~~~~~~"grandson mounted"我第八~~~~~~~~~~~~~~')   } 

执行顺序:

第一圈:先执行父组件的created和beforemount函数;created和beforeMount再按子组件的使用顺序执行,

第二圈:折回去执行mounted,先子后父!

结论:

父组件准备挂载还没挂载时,子组件先完成挂载;

最后父组件再挂载!

2.父子组件更新生命周期

/*parents的销毁代码*/   beforeDestroy () {     console.log('============"parents beforDestroy"我第一=======')   },   destroyed () {     console.log('============"parents destroyed"我第四==========')   },   /*child的销毁代码*/   beforeDestroy () {     console.log('------------"child beforDestroy"我第二-------')   },   destroyed () {     console.log('------------"child destroyed"我第三-----------')   },

执行顺序:

父beforeDestroy->子beforeDestroy->子destroyed->父destroyed

3.父子组件销毁生命周期

/*parents的销毁代码*/   beforeDestroy () {     console.log('============"parents beforDestroy"我第一=======')   },   destroyed () {     console.log('============"parents destroyed"我第四==========')   },   /*child的销毁代码*/   beforeDestroy () {     console.log('------------"child beforDestroy"我第二-------')   },   destroyed () {     console.log('------------"child destroyed"我第三-----------')   },

执行顺序:

父beforeDestroy->子beforeDestroy->子destroyed->父destroyed

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215778.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午1:11
下一篇 2026年3月18日 下午1:11


相关推荐

  • 如何入门网络安全_网络安全自学

    如何入门网络安全_网络安全自学由于我之前写了不少网络安全技术相关的故事文章,不少读者朋友知道我是从事网络安全相关的工作,于是经常有人在微信里问我:我刚入门网络安全,该怎么学?要学哪些东西?有哪些方向?怎么选?不同于Java、C/C++等后端开发岗位有非常明晰的学习路线,网路安全更多是靠自己摸索,要学的东西又杂又多,难成体系。常读我文章的朋友知道,我的文章基本以故事为载体的技术输出为主,很少去谈到职场、面试这些方面的内容。主要是考虑到现在大家的压力已经很大,节奏很快,公众号上是让大家放松的地方,尽量写一些轻快的内容。不

    2022年10月21日
    6
  • Java高新技术——大数操作(BigInteger、BigDecimal)

    Java高新技术——大数操作(BigInteger、BigDecimal)本篇博客主要介绍 Java 常用类库之大数操作 主要是 BigInteger 和 BigDecimal 的 API 学习 之后介绍华为的一道历年真题 十六进制转换成十进制 我们可以看到题目中给我们设置的陷阱 以及如何解决它

    2026年3月16日
    2
  • KETTLE教程:转换

    KETTLE教程:转换所谓的转换,可以理解为将数据开中的数据转换为excel表格,txt文档,.bat等格式输出;将excel表格,txt文档,.bat等格式转换成数据库中表格的数据。kettle的转换功能十分便捷,大大减少了我们的工作量。下面开始介绍如何使用kettle进行转换:以文本转换为mysql数据表为例首先,点击文件:在文件中新建→转换然后,点击转换下的DB转换:选择要转换成什么数据…

    2022年5月24日
    46
  • 音视频协议-RTP协议

    音视频协议-RTP协议1协议简介2协议格式介绍3协议解析4协议三方库使用

    2022年6月28日
    44
  • seq2seq模型是什么_seq2seq原理

    seq2seq模型是什么_seq2seq原理1seq2seq模型简介seq2seq模型是一种基于【encoder-decoder】(编码器-解码器)框架的神经网络模型,广泛应用于自然语言翻译、人机对话等领域。目前,【seq2seq+attention】(注意力机制)已被学者拓展到各个领域。seq2seq于2014年被提出,注意力机制于2015年被提出,两者于2017年进入火热融合和拓展阶段。通常,编码器和解码器都是一个LSTM网络…

    2025年5月25日
    3
  • 联想服务器R630 收集日志

    联想服务器R630 收集日志

    2021年8月30日
    108

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号