如何在js中传递vue组件?

使用 Arco 写了个前端项目,由于 Arco 的图标全都是用组件方式调用,但是菜单数组中的 icon 项是字符串,有什么办法能把字符串渲染成组件的呢?

const menu = {
    id: 1,
    name: '示例菜单',
    url: '/dashboard',
    icon: 'icon-plus'
}
<a-menu-item>
    <template #icon>
        <!-- 正常是用 <icon-plus /> 来显示图标的 -->
        <menu.icon /> <!-- 这样写肯定是不对的,想问对的应该怎么写才对? -->
    </template>
    {{ menu.name }}
</a-menu-item>
从前从前,有个人爱你很久
thebestxt
thebestxt
最佳答案

自己解决了。通过封装一个组件,将字符串转换为组件来解决。

file

4周前 评论
讨论数量: 3
thebestxt

自己解决了。通过封装一个组件,将字符串转换为组件来解决。

file

4周前 评论

直接用 <span :class="menu.icon"></span> 不行吗?

4周前 评论

vue 里面有个叫 动态组件 的东西,可以解决这个问题

4周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!