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乐神

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A乐神

恭喜发财啊,老板,嘻嘻!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值