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

相关文章

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

分辨率三兄弟LPI、DPI 和 PPI有什么区别? 搞清分辨率的那些事儿

《分辨率三兄弟LPI、DPI和PPI有什么区别?搞清分辨率的那些事儿》分辨率这个东西,真的是让人又爱又恨,为了搞清楚它,我可是翻阅了不少资料,最后发现“小7的背包”的解释最让我茅塞顿开,于是,我... 在谈到分辨率时,我们经常会遇到三个相似的缩写:PPI、DPI 和 LPI。虽然它们看起来差不多,但实际应用

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调

GORM中Model和Table的区别及使用

《GORM中Model和Table的区别及使用》Model和Table是两种与数据库表交互的核心方法,但它们的用途和行为存在著差异,本文主要介绍了GORM中Model和Table的区别及使用,具有一... 目录1. Model 的作用与特点1.1 核心用途1.2 行为特点1.3 示例China编程代码2. Tab

C++ 中的 if-constexpr语法和作用

《C++中的if-constexpr语法和作用》if-constexpr语法是C++17引入的新语法特性,也被称为常量if表达式或静态if(staticif),:本文主要介绍C++中的if-c... 目录1 if-constexpr 语法1.1 基本语法1.2 扩展说明1.2.1 条件表达式1.2.2 fa