动态组件is和keep-alive

文章探讨了在Vue.js中动态组件的使用场景,如标签页切换,以及由此带来的组件销毁和重建导致的性能问题。通过引入<keep-alive>,可以在组件切换时缓存实例,避免重复构建虚拟DOM,提高应用性能。激活和离开时的生命周期钩子actived和deactived可用于管理缓存组件。此外,include和exclude属性可以精细控制哪些组件应被缓存。
摘要由CSDN通过智能技术生成
  1. 动态组件使用场景:

标签页切换时,显示不同的组件。可以使用<component :is="dyCom">

父组件中:

template中: <component :is="dyCom">

data(){

return{

dyCom:'' // 动态组件

}}

components: {'son1': () => import('./son1'), 'son2': () => import('./son2')}

tab切换出发方法:

handleTab(v){

this.dyCom = v;

}

  1. 动态组件使用的问题

每次切换时,都会涉及组件的销毁和重建。性能浪费。

  1. 使用keep-alive缓存

使用:<keep-alive><component :is="dyCom"></keep-alive>

生命周期(新增): actived(激活时调用)和deactived(组件离开时调用)。

优点:使用后,首次加载组件时,会缓存组件实例对象。组件切换时,不会重新构建虚拟dom,直接从内存取缓存。

参数设置:include 和 exclude设置需要缓存的组件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值