Vue created()和 activated()区别和作用调用顺序

本文主要是介绍Vue created()和 activated()区别和作用调用顺序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

作用

区别

举个例子

调用顺序


作用

        简单说都是用于页面初始化,土话说一进来页面,去进行数据加载或调用方法的

区别

首先activated 钩子只适用于被 <keep-alive> 包裹的组件。对于不被 <keep-alive> 包裹的组件,activated 钩子不会被调用。你可能会说我的activated ()所在方法页面没看见 <keep-alive>,那这个可能放在你父类的页面中你可以看看,比如App.vue、main.vue等。

比如如我的下图

举个例子

ComponentAComponentBComponentA 是一个普通组件,而 ComponentB 是被 <keep-alive> 包裹的组件。我们将观察这两个组件如何响应 createdactivated 钩子。

  1. ComponentA(普通组件):

    • 当你首次访问 ComponentA 时,它的 created 钩子会被调用。这是初始化数据或进行 API 调用的好时机。
    • 如果你离开 ComponentA(比如切换到另一个组件)然后再回来,ComponentA 将被重新创建,created 钩子再次被调用。
  2. ComponentB(被 <keep-alive> 包裹的组件):

    • 当你首次访问 ComponentB 时,它的 createdactivated 钩子都会被调用。
    • 然后,如果你离开 ComponentB,它不会被销毁,而是保持在内存中。
    • 当你再次访问 ComponentB 时,由于组件已经被创建,created 钩子不会被再次调用。但是,activated 钩子会被调用,因为这个组件是从 <keep-alive> 缓存中被重新激活的。

<component-a v-if="isComponentAVisible"></component-a>
<!-- 在 App.vue 或其他父组件中 -->
<keep-alive><component-b v-if="isComponentBVisible"></component-b>
</keep-alive>
// ComponentA
export default {created() {console.log('ComponentA - created');// 初始化操作,比如 API 调用},// ... 其他选项 ...
}// ComponentB
export default {created() {console.log('ComponentB - created');// 初始化操作,比如 API 调用},activated() {console.log('ComponentB - activated');// 每次从缓存中激活时要执行的操作},// ... 其他选项 ...
}
  • created 钩子:对于任何组件(无论是否被 <keep-alive> 包裹),created 钩子在组件创建时调用一次。
  • activated 钩子:仅适用于被 <keep-alive> 包裹的组件。每次组件从缓存中激活时调用,即使组件已经被创建过。

这个区别意味着 created 钩子是用于组件初始化时的操作,而 activated 钩子适用于那些需要在每次显示时刷新或更新的场景。

调用顺序

如果组件是第一次被创建,createdactivated 钩子都会被调用,且 created 会先于 activated 调用。

------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!作者在这拜谢了!

如果你需要Java 、Python毕设、网页和系统设计,还有你是刚入职的新手需要度过试用期。联系方式微信:Romanticl99 网名:A乐神

这篇关于Vue created()和 activated()区别和作用调用顺序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/619987

相关文章

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

JAVA利用顺序表实现“杨辉三角”的思路及代码示例

《JAVA利用顺序表实现“杨辉三角”的思路及代码示例》杨辉三角形是中国古代数学的杰出研究成果之一,是我国北宋数学家贾宪于1050年首先发现并使用的,:本文主要介绍JAVA利用顺序表实现杨辉三角的思... 目录一:“杨辉三角”题目链接二:题解代码:三:题解思路:总结一:“杨辉三角”题目链接题目链接:点击这里

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja

python中json.dumps和json.dump区别

《python中json.dumps和json.dump区别》json.dumps将Python对象序列化为JSON字符串,json.dump直接将Python对象序列化写入文件,本文就来介绍一下两个... 目录1、json.dumps和json.dump的区别2、使用 json.dumps() 然后写入文

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

python解析HTML并提取span标签中的文本

《python解析HTML并提取span标签中的文本》在网页开发和数据抓取过程中,我们经常需要从HTML页面中提取信息,尤其是span元素中的文本,span标签是一个行内元素,通常用于包装一小段文本或... 目录一、安装相关依赖二、html 页面结构三、使用 BeautifulSoup javascript