Vue3与Vue2生命周期不同点

news2024/11/24 18:29:30

一、前言

随着Vue3发布了两年多的时间,越来越多的小伙伴已经将老项目中的Vue2版本进行升级或者在新项目中使用到了Vue3.x的版本,今天就来总结以下Vue3相较于Vue2升级的生命周期不同点在哪

二、生命周期

下面是生命周期对比图:

Vue2Vue3
beforeCreatesetup()
createdsetup()
beforeMountonBeforeMount
mountedonMounted
beforeUpdateonBeforeUpdate
updatedonUpdated
beforeDestroyonBeforeUnmount
destroyedonUnmounted
activatedonActivated
deactivatedonDeactivated

Vue2的各个生命周期钩子函数:
在这里插入图片描述
主要的四个事件,八个主要钩子如下:

  • 创建—— 在组件的创建上运行
  • 挂载 —— 在挂载 DOM 时运行
  • 更新 —— 修改反应性数据后运行
  • 销毁 —— 在元素被销毁之前立即运行。

beforeCreate():实例在内存中被创建出来,还没有初始化好data和methods属性。
create():实例已经在内存中创建,已经初始化好data和method,此时还没有开始编译模板。
beforeMount():已经完成了模板的编译,还没有挂载到页面中。
mounted():将编译好的模板挂载到页面指定的容器中显示。
beforeUpdate():状态更新之前执行函数,此时data中的状态值是最新的,但是界面上显示的数据还是旧的,因为还没有开始重新渲染DOM节点。
updated():此时data中的状态值和界面上显示的数据都已经完成了跟新,界面已经被重新渲染好了!
beforeDestroy():实例被销毁之前。
destroyed():实例销毁后调用,Vue实例指示的所有东西都会解绑,所有的事件监听器都会被移除,所有的子实例也都会被销毁。组件已经被完全销毁,此时组建中所有data、methods、以及过滤器,指令等,都已经不可用了。

Vue3的各个生命周期钩子函数:

在这里插入图片描述

Composition API 不包括 beforeCreate 和 created(由 setup 方法本身代替),我们可以在 setup 方法中访问 9 个生命周期钩子:

setup() :开始创建组件之前,在beforeCreate和created之前执行。创建的是data和method
onBeforeMount() : 组件挂载到节点上之前执行的函数。
onMounted() : 组件挂载完成后执行的函数。
onBeforeUpdate(): 组件更新之前执行的函数。
onUpdated(): 组件更新完成之后执行的函数。
onBeforeUnmount(): 组件卸载之前执行的函数。
onUnmounted(): 组件卸载完成后执行的函数
onActivated(): 被包含在中的组件,会多出两个生命周期钩子函数。被激活时执行。
onDeactivated(): 比如从 A 组件,切换到 B 组件,A 组件消失时执行。
onErrorCaptured(): 当捕获一个来自子孙组件的异常时激活钩子函数。

除了上述介绍和一些命名上的变化,具体用法差不多。Vue3 还新增了用于调试和服务端渲染场景的钩子:

  • onRenderTracked— 调试钩子,响应式依赖被收集时调用
  • onRenderTriggered— 调试钩子,响应式依赖被触发时调用
  • onServerPrefetch— 组件实例在服务器上被渲染前调用

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

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

相关文章

JMeter基础入门

目录:导读 一、概述 二、Jmeter目录文件讲解 结语 一、概述 JMeter是Apache下一款在国外非常流行和受欢迎的开源性能测试工具,JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。 1、压测不同…

ValidateCode验证码的使用详解(初学看完都会用)

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:Java案例分…

Android 进阶——性能优化之电量优化全攻略及实战小结(二)

文章大纲引言一、在低电耗模式和应用待机模式下进行测试1、在低电耗模式下测试您的应用2、在应用待机模式下测试您的应用3、列入白名单的可接受用例4、确定当前充电状态5、监控充电状态变化6、确定当前电池电量7、监控显著的电池电量变化二、Wakelock 机制1、WakeLock分类2、申…

Linux系统x86-64架构下,从零实现一个系统调用。Ubuntu22.04LTS

名称版本OSUbuntu 22.04 LTSCurrent Kernel5.15.0-56-genericDestination Kernel5.16.60首先要会编译linux内核的源码,这块在我的另外一片文章里面。 https://blog.csdn.net/jl19861101/article/details/128327069 打开linux内核源码目录/arch/x86/entry/syscalls/syscall_64.t…

前端面试比较好的回答

介绍一下Connection:keep-alive 什么是keep-alive 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接…

【笔记】canvas 绘制足球 —— 第一步 画个球体

文章目录一、球体分析二、足球结构分析三、canvas常用API四、画个球体1.初始化2.代码五、加上足球的皮肤一、球体分析 先上两张图 球坐标转直角坐标 xρsin(φ)cos(θ)x \rho \times sin(\varphi) \times cos(\theta) xρsin(φ)cos(θ) yρsin(φ)sin(θ)y \rho \times si…

柴油,光伏模块,风力涡轮机,电池和水力抽水蓄能组成的混合隔离微电网的设计(Matlab实现)

目录 0 引言 1 概述 2 HYMOD 软件操作 2.1 设计的三个阶段 3 HYMOD 软件架构 4 系统和元件的可靠性 5 微电网设计示例 6 Matlab代码与结论 7 操作指南 7.1 概述 7.2 操作 7.3 软件具体操作 0 引言 本文介绍了混合微电网优化设计 (Hymod) 软件。该软件具有最先进…

Redis发布和订阅

Redis发布和订阅1.什么是发布和订阅2.Redis命令演示发布订阅1.什么是发布和订阅 Redis发布订阅(pub/sub)是一种消息通信模式:发布者(pub)发送消息,订阅者(sub)接收消息。 Redis客户端可以订阅任意数量的频道。 2.Redis命令演示发布订阅 打开两个终端 终…

python教程二十 输入和输出

输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数。 第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。 如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。 如果你希望将输出…

记录在苹果mac os系统上使用51单片机仿真软件Proteus

目录 1.安装Wineskin shell 指令 2.安装Wrapper 点击update ​​​​​​​ 1.安装Wineskin 首先我们需要安装一个程序: 可以将在Windows系统上才能运行exe文件打包为mac系统可执行的文件。 shell 指令 brew install --no-quarantine gcenx/wine/unofficial…

气体在线监测仪——排水管井内的有害气体监测

一、产品概述 气体在线监测仪内部采用模块化设计,可对雨污水管井内的有害气体进行在线监测,设备采用高精度、高分辨率的原装进口气体传感器,具有体积小、重量轻、设计简洁、高性价比、多参数高集成、安装方便等特点。 气体在线监测仪广泛应…

Java IO

目录 一、File 类 二、RandomAccessFile 三、流类 四、字节流 4.1 、InputStream 4.2、OutputStream 五、字符流 5.1、Reader 5.2、Writer 六、管道流 七、ByteArrayInputStream 和 ByteArrayOutputStream 八、System.out 和 System.in 九、打印流 十、DataOutp…

【Leetcode】单值二叉树、 相同的树、对称二叉树、另一颗树的子树、二叉树遍历、二叉树的前序遍历

文章目录OJ链接单值二叉树相同的树对称二叉树另一颗树的子树二叉树遍历二叉树的前序遍历OJ链接 1、【单值二叉树】OJ链接 2、【相同的树】OJ链接 3、【对称二叉树】OJ链接 4、【另一棵树的子树】OJ链接 5、【二叉树遍历】OJ链接 6、【二叉树的前序遍历】OJ链接 单值二叉树 >…

R语言用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值

最近我们被客户要求撰写关于线性模型的研究报告,包括一些图形和统计输出。在这篇文章中,我将从一个基本的线性模型开始,然后尝试找到一个更合适的线性模型。 数据预处理 由于空气质量数据集包含一些缺失值,因此我们将在开始拟合…

driftingblues3靶机(auth.log日志、命令执行)

环境准备 靶机链接:百度网盘 请输入提取码 提取码:yc07 虚拟机网络链接模式:桥接模式 攻击机系统:kali linux 2021.1 信息收集 1.探测目标靶机开放端口和服务情况 2.用dirsearch扫描出目录 dirsearch -u 192.168.1.101 漏洞…

【Python】ValueError: Grouper for ‘Code‘ not 1-dimensional

目录:ValueError: Grouper for Code not 1-dimensional解决一、问题描述二、问题分析2.1 构建的DataFrame两列列名一样2.2 情况2三、问题解决一、问题描述 在我进行pandas的groupby分组的时候,我们的数据集如下: 但是在分组时,出…

Oracle sql性能优化案例

v$sql 表字段说明: sql_id:唯一性标识; sql_fulltext:SQL执行内容; elapsed_time:消逝时间,即自然耗费的时间,单位是微妙,10的-6次方秒; cpu_time&#…

手机也可以轻松码代码!两款手机端代码最佳神器Pydroid和Pythonista!

Pyroid是一款支持Android系统的移动代码编译器。 Python 3可以说是Android上一个易于使用且功能强大的Python 3 IDE,它可以帮助您在Android上使用Python、Jupyter笔记本等。 安装 我们可以从应用程序商店下载并安装。安装完成后,需要在第一次打开Python…

我用python生成了一亿棵不同的圣诞树 | 使用Python代码自动生成圣诞树轮廓

圣诞将至,这次来试试用Python代码过圣诞节把~挑战生成一亿棵圣诞树。 文章目录前言一、为什么能生成一亿棵圣诞树?二、怎么根据圣诞树图片生成对应的圣诞树轮廓1.读取圣诞树图片2.二值化圣诞树图片3.提取圣诞树图片轮廓4.显示圣诞树轮廓总结前言 圣诞将…

数据结构作业——第十六周--排序

1 . 单选题 简单 5分 对整数序列(8,9,10,4,5,6,20,1,2)进行递增排序,采用每趟冒出一个最小元素的冒泡排序算法,需要进行的趟数是____…