vue中动态组件component动态组件的使用

vue中component动态组件的使用
项目中有时候会根据tab来切换相应的组件,这个时候可以用到component组件通过is传入对应的组件名

<component :is="aaa"></component>

通过如上方法使用,可以通过tab标签的点击事件动态修改‘aaa’这个组件名
但是直接这样使用,每一次组件的切换都会重新加载,如果对a组件进行一些操作之后切换到b组件,再次切回到a组件,页面不会保留之前对a组件的相关操作,解决这个问题的办法就是对他嵌套一层keep-alive标签

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

这样就可以解决上一个问题
如下代码示例:

<button @click="name=='aaa'">aaa</botton>
<button @click="name=='bbb'">aaa</botton>
<keep-alive include='aaa'>
 //include来设置缓存哪些组件,例如这个地方就是只缓存aaa组件,bbb组件不缓存,
 //aaa对应aaa文件中的name属性,如果aaa文件中设置了name名则对应文件内name名,
 //如果没有设置则对应注册引入时的注册名
	<component :is=name></component>
</keep-alive>
<script>
import aaa from './aaa.vue'
import bbb from './bbb.vue'
export default{
	components:{
		aaa,
		bbb
	},
	data(){
		return {
			name:'aaa' //设置默认为aaa组件,通过botton的点击事件来修改组件
		}
	}
}
</script>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值