我有一个非常简单的组件,我已经在vue v2中使用了很长一段时间.最近我把一个应用程序升级到vue v3(with the help of the @vue/compat plugin),这个组件不再由vue渲染.它只是忽略它,并将原始HTML呈现到模板中.
但是,如果我将组件从None.vue
重命名为类似NoneTag.vue
,它就可以正常工作.none
在Vuejs v3中成为保留字了吗?
这个组件在我的应用程序中使用如下:
<something v-if="false" />
<none v-else/>
浏览器中的HTML输出实际上是:<none></none>
// None.vue
<script>
export default {
compatConfig: {MODE: 3}, // not important here
props: {
tag: {type: String, default: 'span'},
label: {type: String, default: 'none'},
},
}
</script>
<template>
<component :is="tag" class="text-muted">{{ label }}</component>
</template>
注意,<component>
的使用在这里并不重要,因为我在没有动态组件的情况下测试了它,结果也是一样的.