web前端之vue的生命周期、unmounted、onUnmounted、activated、deactivated、keep-alive

MENU

  • 前言
  • vue2
  • vue3
  • activated和deactivated


前言

在Vue.js中,组件生命周期钩子函数定义了在组件的不同阶段执行的操作。Vue 2.x和Vue 3.x之间的生命周期钩子函数有一些区别。


vue2

1、beforeCreate: 在实例初始化之后,数据观测(data observer)和event/watcher事件配置之前被调用。
2、created: 实例已经创建完成后调用,此阶段完成了数据观测(data observer)和event/watcher事件的配置。
3、beforeMount: 在挂载开始之前被调用:相关的render函数首次被调用。
4、mounted: el 被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子函数。
5、beforeUpdate: 数据更新时调用,发生在虚拟DOM重新渲染和打补丁之前。
6、updated: 由于数据更改导致的虚拟DOM重新渲染和打补丁后调用。
7、beforeDestroy: 在实例销毁之前调用。实例仍然完全可用。
8、destroyed: 在实例销毁之后调用。调用后,所有的事件监听器和所有的子实例被销毁。


vue3

01、beforeCreate: 在实例初始化之后,数据观测(data observer)和event/watcher事件配置之前被调用。
02、created: 实例已经创建完成后调用,此阶段完成了数据观测(data observer)和event/watcher事件的配置。
03、beforeMount: 在挂载开始之前被调用:相关的render函数首次被调用。
04、onBeforeMount: 在挂载之前调用。
05、mounted: 在挂载完成之后调用,此时已经完成了页面中的真实DOM渲染。
06、onMounted: 在挂载完成之后调用,与mounted类似。
07、beforeUpdate: 在数据变化更新DOM之前被调用。
08、onBeforeUpdate: 在更新之前调用。
09、updated: 在数据变化更新DOM之后被调用。
10、onUpdated: 在更新之后调用。
11、beforeUnmount: 在卸载组件之前调用。
12、onBeforeUnmount: 在卸载之前调用,与beforeUnmount类似。
13、unmounted: 在卸载组件之后调用。
14、onUnmounted: 在卸载之后调用,与unmounted类似。
Vue 3.x引入了一些新的生命周期钩子函数,如onBeforeMount、onMounted、onBeforeUpdate、onUpdated、onBeforeUnmount和onUnmounted。这些新的生命周期钩子函数提供了更精细的控制和更明确的生命周期阶段。


activated和deactivated

在Vue.js 2.x中针对的是keep-alive包裹的组件。activated在组件被keep-alive缓存激活时调用,而deactivated在组件被缓存停用时调用。这对于在组件被切换时执行一些特定的操作非常有用,例如,数据的初始化和清理、动画效果的触发等。在Vue.js 3.x中,这两个生命周期钩子函数仍然存在,并且在组件被keep-alive缓存时也会被调用,但也可在普通组件中使用,用于控制组件的激活和停用状态。

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

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

相关文章

RDD介绍

RDD设计背景 在实际应用中,存在许多迭代式计算,这些应用场景的共同之处是 : 不同计算阶段之间会重用中间结果,即一个阶段的输出结果会作为下一个阶段的输入. 而目前的MapReduce框架都是把中间结果写入到HDFS中,带来了大量的数据复制、磁盘IO和序列化开销; 如果能将结果保存在内…

为何程序员35岁就开始被嫌弃了?程序员该如何避免中年危机?

文章目录 一、为何程序员35岁就开始被嫌弃了?1、技术更新迅速2、职业发展瓶颈3、成本考虑4、年龄歧视5、市场供需变化6、个人因素 二、程序员该如何避免中年危机?1、持续学习与技能更新2、拓展技术广度与深度3、提升软技能4、关注行业趋势与市场变化5、建…

vue3 input输入框输入限制(数字)

输入框限制输入的内容格式&#xff0c;如&#xff08;金额&#xff0c;数字&#xff09; 金额限制小数点后2位数 <el-input placeholder"请填写费用" v-model"formMoney.total_money" keyup"formMoney.total_money checkPrice(formMoney.total_…

20240521(代码整洁和测试入门学习)

测试: 1.测试工程师、测试工具开发工程师、自动化测试工程师。 python&#xff1a; 1、发展背景和优势&#xff1b; 2、开始多需的工具 interpreter(解释器) refactor(重构) 2、变量和注释的基础语法 3、输入输出 i 1 for i in range(1, 11): print(i, end ) 不换行打印…

jupyter notebook 实现联邦学习模型

联邦学习(Federated Learning)是一种机器学习框架,它允许多个参与方(例如,移动设备或服务器)在本地数据集上训练模型,而无需将数据集中到一个位置。这有助于保护数据隐私,并允许在分布式环境中进行模型训练。 要在Jupyter Notebook中实现联邦学习模型,你可以遵循以下…

性能大爆炸!为你的Matomo换一个高性能的环境!

随着我的 Matomo 越来越大&#xff0c;功能需求的增多&#xff0c;插件也变得越来越多&#xff0c;使用传统的LNMP架构或者LAMP架构都会发现性能正在急剧下级&#xff0c;为此&#xff0c;我们发现了使用FrankenPHP&#xff08;以下简称FPHP&#xff09;的方案 首先&#xff0…

Android kotlin协程

说明 可代替线程整异步可控制&#xff0c;灵活 &#xff08;控制优先级&#xff0c;内存占用等&#xff09;速度快 效率高有数量上限 使用 runBlocking 一般用于测试 不建议使用GlobalScope.launch 全局的 生命周期跟随application 不建议使用CoroutineScope(job) 用 基本使…

樱花下落的速度是每秒5厘米,我们的心又该以什么速度去接近呢

樱花下落的速度是每秒五厘米。5年前第一次接触秒速五厘米的时候&#xff0c;我还在念初中&#xff0c;那时候的我尚且理解不了作品里的太多东西&#xff0c;只是为那辆列车隔开了明里和贵树感到悲伤&#xff0c;为他们二人那段无疾而终的感情感到遗憾。五年后再一次重温&#x…

GEE批量导出逐日、逐月、逐季节和逐年的遥感影像(以NDVI为例)

影像导出 1.逐日数据导出2.逐月数据导出3.季节数据导出4.逐年数据导出 最近很多小伙伴们私信我&#xff0c;问我如何高效导出遥感数据&#xff0c;从逐日到逐季度&#xff0c;我都有一套自己的方法&#xff0c;今天就来和大家分享一下&#xff01;   &#x1f50d;【逐日导出…

Scala 入门介绍和环境搭建

一、简介 Scala 是一门以 Java 虚拟机&#xff08;JVM&#xff09;为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言 (静态语言需要提前编译&#xff0c;如&#xff1a;Java、c、c 等&#xff0c;动态语言如&#xff1a;js)Scala 是一门多范式的编程…

【介绍下Pwn,什么是Pwn?】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

CSS3文字与字体

文字与字体 @font-face 用途:定义一种自定义字体,使其可以在网页中使用。通过@font-face规则,可以指定字体名称、来源(通常是URL)以及字体的各种变体(如常规、粗体、斜体等)。 @font-face {font-family: MyCustomFont;src: url(mycustomfont.woff2) format(woff2

冯喜运:5.25黄金价格和原油价格加速看跌?未来如何走势?

【黄金消息面分析】&#xff1a;本周黄金市场经历剧烈波动&#xff0c;金价创下五个半月来最糟糕的单周表现&#xff0c;尽管周五因美元下跌小幅回升。美联储的鹰派立场和美国经济数据强劲削弱了降息预期&#xff0c;导致金价承压。然而&#xff0c;分析师对未来金价走势看法不…

Rolla‘s homework:Image Processing with Python Final Project

对比学习Yolo 和 faster rcnn 两种目标检测 要求 Image Processing with Python Final Project Derek TanLoad several useful packages that are used in this notebook:Image Processing with Python Final Project Project Goals: • Gain an understanding of the object …

leetcode 1049.最后一块石头的重量II

思路&#xff1a;01背包 其实这道题我们可以转化一下&#xff0c;乍一看有点像区间dp&#xff0c;很像区间合并那种类型。 但是&#xff0c;后来发现&#xff0c;这道题的精髓在于你如何转成背包问题。我们可以把这个石头分成两堆&#xff0c;然后求出来这两堆的最小差值就行…

使用git生成SSH公钥,并设置SSH公钥

1、在git命令行里输入以下命令 ssh-keygen -t rsa 2、按回车&#xff0c;然后会看到以下字眼 Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/xxx/.ssh/id_rsa) 例&#xff1a; 3、继续回车&#xff0c;然后会看到以下字眼 Enter…

【面试干货】数据库乐观锁,悲观锁的区别,怎么实现

【面试干货】数据库乐观锁&#xff0c;悲观锁的区别&#xff0c;怎么实现 1、乐观锁&#xff0c;悲观锁的区别2、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、乐观锁&#xff0c;悲观锁的区别 悲观锁&#xff08;Pessimistic Lo…

web前端框架设计第十课-组件

web前端框架设计第十课-组件 一.预习笔记 组件&#xff1a;Vue最强大的功能之一 1.局部组件注册 注意事项&#xff1a;template标签中只能有一个根元素 2.全局组件的注册 注意事项&#xff1a;组件名的大小写需要注意&#xff08;实践&#xff09; 3.案例&#xff08;查询框…

Vivado 使用教程(个人总结)

Vivado 是 Xilinx 公司推出的一款用于 FPGA 设计的集成开发环境 (IDE)&#xff0c;提供了从设计输入到实现、验证、调试和下载的完整流程。本文将详细介绍 Vivado 的使用方法&#xff0c;包括项目创建、设计输入、约束文件、综合与实现、仿真、调试、下载配置等步骤。 一、创建…

设计模式--责任链模式

责任链模式是一种行为设计模式&#xff0c;它允许将请求沿着处理者链进行发送。请求会沿链传递&#xff0c;直到某个处理者对象负责处理它。这种模式在许多应用场景中非常有用&#xff0c;例如在处理用户输入、过滤请求以及实现多级审核时。 应用场景 处理用户输入&#xff1…