You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 05:05:23