Vue文档规范下,MDB Vue组件需用kebab-case注册吗?
Vue组件命名与注册的风格统一问题
核心结论
不用强制改成kebab-case注册组件,Vue本身支持两种写法的兼容,你可以通过以下两种方式统一风格:
方式1:保留MDB组件的PascalCase注册,DOM中统一用kebab-case调用
Vue官方文档明确:在DOM模板(.html文件或内联template字符串)中必须用kebab-case引用组件,但组件注册时的命名不做强制要求。你可以继续用PascalCase注册MDB组件,在DOM模板里统一写成<mdb-tab>,和你自己的<my-first-component>保持调用风格一致。
注册代码保留原有写法:
components: { ... MDBTab, ... },
DOM调用统一调整为:
... <my-first-component /> <mdb-tab></mdb-tab> <my-last-component /> ...
这种方式既符合Vue的DOM规范,又无需修改MDB组件的注册逻辑,还能保证模板调用风格的一致性。
方式2:统一用kebab-case注册所有组件
如果你希望注册代码的风格也完全统一,就按照你提问里的写法,把MDB组件改成kebab-case注册:
components: { ... "mdb-tab": MDBTab, ... },
这样注册代码和你自己的组件保持一致,DOM里同样用<mdb-tab>调用,实现全流程的风格统一,这种方式也完全符合Vue的规范。
补充说明
Vue对组件命名的兼容逻辑:
- 注册时用PascalCase,DOM里可自动映射为对应的kebab-case(比如
MDBTab对应<mdb-tab>) - 注册时用kebab-case,DOM里只能用对应的kebab-case调用
两种注册方式均合法,核心要求是DOM模板中必须使用kebab-case,注册阶段的风格可根据个人或团队习惯选择,只要保证模板调用的一致性即可。
内容的提问来源于stack exchange,提问作者kotaine
相关产品推荐
相关产品推荐

