版本
2.5.15
重现步骤
目前,所有全局注册的组件都会自动将其名称转换为kebap-case。
// register component
Vue.component('RouterLink', {...})
// get component fails, returns undefined
Vue.component('RouterLink')
// get component works, returns the component
Vue.component('router-link')
如果在注册函数调用时提供了PascalCase命名,那么希望已注册的组件也可以通过它们的PascalCase命名进行访问。这也意味着您可以在.vue
模板中使用PascalCase命名,这是一种快速区分Vue组件和HTML元素的好方法。目前还不能实现这一点,要使其正常工作,需要使用以下代码:
<template>
<RouterLink :to="link">Link</RouterLink>
</template>
<script>
{
components: {
RouterLink: Vue.component('router-link')
}
}
</script>
预期结果
如果在注册函数调用时提供了PascalCase命名,则应能够通过其PascalCase命名访问全局注册的组件。
实际发生的情况
目前,组件命名始终转换为kebap-case。
2条答案
按热度按时间8yoxcaq71#
你可能想表达的是相反的意思:
iibxawm42#
你是对的,对不起我的错误。我最近尝试使用VueRouter与
RouterLink
,但没有成功。查找仓库后看到了Vue.component('RouterLink', Link)
,这让我感到困惑。然而,这不是我实际使用的版本3.0.1,它仍然在进行Vue.component('router-link', Link)
。