Vue中的动态加载组件

Vue中动态组件加载

背景:在vue中,内容过多,需要采用分解成不同的组件,在父组件中引入子组件,常见的有静态引入(在某一个组件中指定引入某一个子组件)以及动态引入(在组件中根据不同的场景需要使用不同的子组件),通常使用于对话框的封装中。

用法1:
通常在vue项目中,需要在组件中引入子组件,常见的方法:

   在html中直接引入,此时子组件是写死的,不能改变

<div>
  <my-component/>
</div>

 在js中引入一个my-component组件,这样就可以直接使用,显示对应子组件的内容

import my-component from './my-component'
exports default {
   components:{
      my-component
   }
}

用法2:动态加载子组件,根据不同的情景加载不同的组件

html中

<div>
  <component 
   ref="child" 
   :is="currentComponent"
  />
</div>

通过is的值来动态绑定当前使用哪个子组件

js中:

import A from './a'
import B from './b'
import C from './c'

export default{
  components:{
     A ,
     B,
     C
  }
}

在vue中引入了三个组件A,B,C,具体在html中使用哪个,需要根据当前的currentComponent的值来判断,如果当前的值是A,那引入的子组件为A,如果为B,那引入的子组件为B

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值