Vue2(17) 动态组件 & 异步组件学习笔记

Vue2 动态组件 & 异步组件学习笔记

1. 动态组件

在Vue中,动态组件允许我们在多个组件之间切换,而无需每次都销毁和重新创建它们。这在多标签界面或选项卡界面中非常有用。然而,如果组件在切换过程中被销毁和重新创建,其状态将无法保持。为了避免这种情况,我们可以使用<keep-alive>元素来缓存动态组件。

示例

假设我们有一个多标签界面,包含“Posts”、“Archive”等标签。如果我们直接使用动态组件,那么每次切换标签时,Vue都会创建一个新的组件实例。这意味着,如果我们选择了一篇文章并切换到“Archive”标签,然后再切换回“Posts”,之前选择的文章将不再显示。

为了解决这个问题,我们可以将动态组件包裹在<keep-alive>元素中:

<keep-alive>
  <component :is="currentTabComponent"></component>
</keep-alive>

这样,即使组件未被渲染,它的状态也会被保持。需要注意的是,<keep-alive>要求被切换到的组件都有自己的名字,这可以通过组件的name选项或局部/全局注册来实现。

2. 异步组件

在大型应用中,我们通常需要将应用分割成多个小的代码块,并在需要时才从服务器加载它们。Vue允许我们以工厂函数的方式定义异步组件,这个工厂函数会异步解析组件定义。Vue只会在组件需要被渲染时触发该工厂函数,并将结果缓存起来供未来重渲染使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

博学敬业

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值