动态引用组件 <component :is=“componentName“ />

在工作中常常会引用很多组件,如:

import com1 from '@/components/com1'

import com2 from '@/components/com2'

import com3 from '@/components/com3'

....

然后节点

<com1 />

<com2 />

<com2 />

代码臃肿不说,而且不灵活

使用动态组件来解决

<component :is="componentFun" />

methods: {

componentFun(){

        // 此处可以灵活传组件路径名为值,做到用什么就传什么

        let com1 = 'components/com1'

        return require('@/' +com1 ).default

}

}

也可使用for

<template>

        <div v-for(item,index) in list :key="index">

                <component :is="componentFun(item)" />

        </div>

</template>

methods: {

componentFun(item){

        // 此处可以灵活传组件路径名为值,做到用什么就传什么

        let com1 = item.components; // 'components/com1'

        return require('@/' +com1 ).default

}

}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值