更改组件的html元素类型
问题描述:
我有以下Vue JS组件,它是我的网格系统的一部分。更改组件的html元素类型
<bl-column type="section" classList="col--4-12 col--6-12--m col--1-1--s">
...
</bl-column>`
我想要设置的元素的类型为“”(标准)“”或“”动态地,如在上面的例子中,添加包含部分或物品类型变量。
这是我Column.Vue文件:
<template>
<{type} :class="classList">
<slot></slot>
</{type}>
</template>
<script>
export default {
name: "Column",
props: ['classList', 'type'],
data() {
return {
classList: this.classList || '',
type: this.type || 'div',
};
}
};
</script>
这显然是行不通的,并抛出一个错误,但你设定的元素类型的想法。有没有办法执行此操作而不使用render()函数?
答
您有更简单的方法来呈现动态组件。该文档https://vuejs.org/v2/guide/components.html#Dynamic-Components
<template>
<component :is="type" :class="classList">
<slot></slot>
</component>
</template>
<script>
export default {
name: "Column",
props: ['classList', 'type'],
data() {
return {
classList: this.classList || '',
type: this.type || 'div',
};
}
};
</script>
我不知道的:是= “类型” 选项。这确实是一个完美的解决方案! –