关于vue中的动态组件component和keep-alive

component标签是vue内置的,作用:组件的占位符

1
<component is="组件名称"></component>

其中is属性的值表示要渲染的组件的名字,也就是components节点下的组件名称

当我们动态切换组件名称时,每切换一次,组件就会被销毁一次,若不想让组件被销毁,则需要用到标签keep-alive

1
2
3
<keep-alive>
     <component is="组件名称"></component>
</keep-alive>

keep-alive可以把内部的组件进行缓存,而不是销毁组件

使用keep-alive标签后会生成两个新的生命周期:activated(组件被激活)、deactivated(组件被缓存)

注意:使用keep-alive标签后,组件第一次被显示时,既会执行created()也会执行activated();当组件第二次显示时,只会执行activated()

  • keep-alive的include属性
1
2
3
<keep-alive include="组件名称,多个组件之间用英文的逗号分隔">
     <component is="组件名称"></component>
</keep-alive>

  include表示:指定需要被缓存的组件,多个组件之间用英文的逗号分隔

  • keep-alive的exclude属性
1
2
3
<keep-alive exclude="组件名称,多个组件之间用英文的逗号分隔">
     <component is="组件名称"></component>
</keep-alive>

  exclude表示:指定不需要被缓存的组件,多个组件之间用英文的逗号分隔

注意:include属性和exclude属性只能用一个,不能同时使用

posted @   西瓜南瓜哈密瓜  阅读(85)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示