【vue动态组件】

vue动态组件

动态切换组件的显示与隐藏

 <!-- 1.component标签是vue内置的,作用:组件的占位符 -->
 <!-- 2.is属性的值,表示要渲染的名字 -->
 
 <!-- keep-alive可以把内部组件进行缓存,保证不会被销毁 -->
    <keep-alive>
        <component :is="comName"></component>
    </keep-alive>
 
 
 <script>
  data() {
    return  {
      // comName表示要展示组件的名字
      comName:"Left"
    }
  },	
 </script>
keep-alive生命周期

当组件被缓存时,会自动触发组件的deactivated 生命周期函数

当组件被激活时,会自动触发组件的activated 生命周期函数

当组件添加<keep-alive>时
//当组件第一次被创建的时候,即会执行created的生命周期也会执行activated
//当组件被激活的时候,只会触发activated生命周期
activated(){
	console.log('组件被激活了,  activated');
}

deactivated(){
	console.log('组件被缓存了,  deactivated');
}

keep-alive的include属性

include属性指定:只有名称匹配的组件会被缓存

//Left组件会被缓存
<keep-alive include="Left">
        <component :is="comName"></component>
 </keep-alive>

keep-alive的exclude属性

exclude 属性指定:只有名称匹配的组件不会被缓存

//Left组件不会被缓存
<keep-alive exclude="Left">
        <component :is="comName"></component>
 </keep-alive>

include属性和exclude属性不能同时用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值