vue2生命周期图

news2024/10/11 4:30:43

生命周期全过程如下👇详解

一:生命周期之创建阶段
1.创建一个Vue实例【new Vue()】
2.初始化Vue实例,第一次初始化,初始化Vue当中的事件和生命周期方法【Init Events Lifecycle】

☆☆☆调用生命周期方法当中的beforCreate,调用这个方法的时候有一个特点,就是在调用
☆☆☆beforCreate方法的时候,此时Vue实例刚刚才被创建出来,此时还没有初始化好data里面的数据以及methods属性
☆☆☆因此我们在beforCreate函数执行时期是无法访问data里面的数据以及methods属性内部的方法

★★★初始化Vue实例当中的数据,经过第二次的初始化后data内部的数据已经有了,并且methods属性也初始化成功了!Init injections&reactivity
★★★经过了第二次初始化后马上就执行Create这个生命周期函数
★★★在执行Create时期这个生命周期方法内部数据已经初始化完成,所以此时打印data内部的数据或者使用methods是可以使用的.

然后进入create函数后,beforeMount函数前的时期,这个时期开始编译模板,根据data中的数据和指令生成一个HTML模板,
注意此时编译的HTML模板还没有渲染到界面上,仅存在于内存中.
然后调用breforeMount函数,此时因为模板并没有渲染到真实的DOM上,所以我们获取DOM上某个标签包含data数据的innerHTML或者innerText是无法获取的打印的话会返回undefined

因为前面我们生成了HTML模板存储在内存当中,经过beforemount函数之后,它就会把HTML模板渲染到真实的DOM当中渲染完成后调用Mount函数,所以我们在Mount函数
当中获取/打印包含data数据的或者已经写好在挂载DOM上的模板HTML DOM的时候,因为在这个时期已经渲染在真实DOM上了,所以是可以打印或者输出的

二:生命周期之运行阶段
更新阶段说明:如果data内部的数据发生了变化才 会执行更新阶段,并且执行更新新阶段的函数,如果data数据不变化就不会执行更新阶段.
更新阶段执行完mount函数之后,会实时监听data内部的数据,如果数据发生变化就马上执行beforeUpdate函数,
beforeUpdate函数执行时,data里面的数据已经更新了,但是data的数据并没有渲染在真实的DOM上,
等beforeUpdate函数执行完全后,会根据data更新后的数据重新生成HTML内容,然后替换掉原先的老数据的HTML内容即更新到真实DOM上
当更新到真实DOM结束之后就会调用Updated函数。

三:生命周期之销毁阶段
如果我们使用v-if销毁/或者执行销毁组件的操作的时候才会执行销毁的函数
只要组件不被销毁就不会调beforeDestroy函数
beforeDestroy函数内部是最后一个能够访问到组件内部数据和方法的函数
注意:destroyed函数内部有些可以有些不可以访问到组件内部的数据
操作组件内部的数据或者方法最后只能在这个beforeDestroy函数内部操作不可以在destroyed操作

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/789997.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动化运维工具--saltstack部署及使用

目录 一、saltstack简介 1、介绍 2、Salt的核心功能 3、saltstack通信机制 二、saltstack部署 1、部署环境 2、配置yum源 3、安装master与minion 4、连接认证master和minion 三、salt运行 1、执行格式 2、实操演示 一、saltstack简介 1、介绍 saltstack是一个配置管…

[护网杯 2018]easy_tornado1

进入环境后有三个路径链接 访问/flag提示会说flag在/fllllllllllag里 值得注意的是访问后网页url发生的变化,这里居然有两个参数 替换掉filename的值后页面url再次发生变化,网页只有一个msg传参的数据 访问welcome.txt,只是回显了一个render…

一个灵活、现代的Android应用架构

一个灵活、现代的Android应用架构 学习Android架构的原则:学习原则,不要盲目遵循规则。 本文旨在通过示例演示实际应用:通过示范Android架构来进行教学。最重要的是,这意味着展示出如何做出各种架构决策。在某些情况下&#xff0…

qt登录框

#include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {//窗口的设置this->setFixedSize(500, 400); //设置固定大小this->setWindowOpacity(0.95); //设置透明度this->setWindowTitle("鹏哥快聊"); // this->setWin…

【node-1】node validation exception. bootstrap checks failed

记录ElasticSearch 内存分配不足报错 背景做出的改变说在最后:最后访问es: 背景 从报错信息中看到,文件,虚拟内存的最大值太低,我们需要调整设置虚拟内存大小,以满足ElasticSearch 运行需求。 做出的改变 …

WPF icon的设置

想给控件设置个圆形图片&#xff0c;代码如下&#xff1a; ​<Setter Property"Icon"><Setter.Value><Image Source"/WpfApp1;component/Resource/1.ico" Width"16" Height"16"/></Setter.Value></Setter&…

面向对象编程:从创建类到封装与构造方法的探索

1. 代码如何创建类&#xff1f; 在面向对象编程中&#xff0c;类是对一类事物的抽象&#xff0c;包含了静态的属性&#xff08;成员变量&#xff09;和动态的行为&#xff08;成员方法&#xff09;。在Java中&#xff0c;创建类的格式如下&#xff1a; 修饰词 class 类名 {//…

react实现页面动态表单设计器(自定义推拽表单)

react实现页面动态表单设计器&#xff08;自定义推拽表单&#xff09; 实现效果安装插件使用组件介绍基本设置&#xff0c;可设置控件标签&#xff0c;是否必填&#xff0c;校验规则校验规则有如下几种多选&#xff0c;下拉&#xff0c;单选可动态设置每个选择的label以及值 实…

ROS Neotic(Ubuntu 20.04)如何正确安装OpenCV

自定义OpenCV版本 一、ROS的安装二、OpenCV编译安装三、cv_bridge编译安装四、温馨提示 一、ROS的安装 鱼香ROS提供了一个全面且方便的脚本&#xff0c;可以直接运行来安装系统对应版本的ROS&#xff0c;同时也可以使用该命令来安装许多有趣的东西 wget http://fishros.com/i…

Android 实现阅读用户协议的文字控件效果

开发中&#xff0c;经常要用到一些阅读隐私协议的场景&#xff0c;原生的textview控件很难做到在一个控件里有两个点击事件&#xff0c;那现在就来安利一个强大的组件——SpannableStringBuilder。 先看看效果&#xff1a; 直接上代码&#xff0c;布局文件&#xff1a; <Li…

线性DP--BOX

还没学&#xff0c;等学完再仔细写。 #include<bits/stdc.h> using namespace std; typedef long long ll; ll a[1000010]; ll vis[1000010]; ll f[1000010][3]; int main() {ll n,m;cin>>n;for(int i1;i<n;i){cin>>a[i];}for(int i1;i<n;i){cin>&g…

top工具使用

文章目录 top命令简介top命令输出信息系统信息运行进程信息 top命令参数top命令快捷键自定义字段显示 top命令简介 top命令是Linux下常用的性能分析工具&#xff0c;可用于实时查看系统运行状态以及各个进程的资源占用情况。通常在系统出现CPU负载异常或者内存占用过高时&…

计算机视觉(三)未有深度学习之前

文章目录 图像分割基于阈值、基于边缘基于区域、基于图论 人脸检测Haar-like特征级联分类器 行人检测HOGSVMDPM 图像分割 把图像划分成若干互不相交的区域。经典的数字图像分割算法一般是基于灰度值的两个基本特征之一&#xff1a;不连续性和相似性。 基于阈值、基于边缘 基于…

数据可视化(3)

1.饼状图 #饼状图 #pie&#xff08;x,labels,colors,labeldistance,autopct,startangle,radius,center,textprops&#xff09; #x,每一块饼状图的比例 #labels:每一块饼形图外侧显示的文字说明 #labeldistance&#xff1a;标记的绘制位置&#xff0c;相对于半径的比例&#xf…

【模拟IC】国微微电子模拟IC岗笔试复盘

前言 对2023的国微微电子的笔试题进行复盘&#xff0c;答案仅供参考&#xff0c;题型分别有选择题&#xff0c;填空题&#xff0c;简答题以及分析题。一共一百分。麻烦大家点点关注&#xff0c;祝大家拿下大厂sssp,拿下心仪的工作。 一、选择题填空题简答题 套筒式放大器与折…

微服务测试是什么?

微服务测试是一种特殊的测试类型&#xff0c;因为它涉及到多个独立的服务。以下是进行微服务测试的一般性步骤&#xff1a; 【B站最通俗易懂】Python接口自动化测试从入门到精通&#xff0c;超详细的进阶教程&#xff0c;看完这套视频就够了 1. 确定系统架构 了解微服务架构对…

【沐风老师】3dMax模型贴图贴画插件使用方法详解

3dMax模型贴图贴画插件使用方法 3dMax模型贴图贴画插件(3dmax贴花放置器),是在3dMax对象上放置贴花时使用的一种工具,可以帮助你加快工作速度。现代化的用户界面,能够保留贴花的纵横比、捕捉角度、通过角点或中心轴调整贴花大小的能力、贴花网格的实时投影、创建和编辑“*…

nginx的快速入手(基本命令)

nginx的快速入手&#xff08;基本命令&#xff09; 1.下载 下载地址&#xff1a;nginx: download 以win的为例。单机下载windows的。 下载完成之后直接解压 2.使用 查看版本 nginx -v 验证配置文件正确吗 就是检查自己修改的配置文件有没有语法上的错误 nginx -t 启动 sta…

多线程(JavaEE初阶系列4)

目录 前言&#xff1a; 1.单例模式 1.1饿汉模式 1.2懒汉模式 1.3结合线程安全下的单例模式 1.4单例模式总结 2.阻塞式队列 2.1什么是阻塞队列 2.2生产者消费者模型 2.2.1 上下游模块之间进行“解耦合” 2.2.2削峰填谷 2.3阻塞队列的实现 结束语&#xff1a; 前言&a…

Java开发 - 深入理解Redis Cluster的工作原理

前言 前面我们讲过Redis Cluster的搭建方式&#xff0c;也是本着应用优先的原则&#xff0c;所以对其基础概念和原理几乎没有涉及&#xff0c;但当学会了Redis集群的搭建方式之后&#xff0c;对于其原来我们还是要知道一些的&#xff0c;所以这篇博客&#xff0c;我们将一起来…