- vue2 和 vue3 下,命名和引用规则是相同的
- 组件命名规则
2.1. 当使用 kebab-case (短横线分隔,如Vue.component('my-component-name', { /* ... */ })) 定义一个组件时,你在引用这个自定义元素时也必须使用 kebab-case,则必须使用<my-component-name>引用组件
2.2. 当使用 PascalCase (首字母大写,如Vue.component('MyComponentName', { /* ... */ })) 定义一个组件时,你在引用这个自定义元素时两种命名法都可以使用。也就是说<my-component-name>和<MyComponentName>都是可接受的 - 不同使用场景下的组件引用命名
3.1. 使用字符串模板(如template: '...')或单文件(.vue文件),kebab-case和PascalCase均可,即<my-component-name>和<MyComponentName>都可以用来引用组件
3.2 使用非字符串模板(即不属于3.1的情况),直接使用HTML的情况下,由于 HTML 是大小写不敏感的,所以只有 kebab-case 是有效的,即只能使用<my-component-name>
3.3. 命名风格推荐
对于绝大多数项目来说,在单文件组件和字符串模板中,组件名称应该始终是 PascalCase 的——但是在 DOM 模板中是 kebab-case 的。点此参考官方文档 - prop命名规则
prop一般情况下使用camelCase (首字母小写,驼峰命名法,如组件内使用{props: ['myProp']})命名 - 不同使用场景下的prop引用命名
5.1. 使用字符串模板(如template: '...')或单文件(.vue文件),kebab-case和camelCase均可,即myProp和my-prop都可以用来传入prop
5.2. 使用非字符串模板(即不属于5.1的情况),直接使用HTML的情况下,由于 HTML 是大小写不敏感的,所以只有 kebab-case 是有效的,即只能使用my-prop
5.3. 命名风格推荐
在声明 prop 的时候,其命名应该始终使用 camelCase,而在模板和 JSX 中应该始终使用 kebab-case。
我们只是单纯地遵循了每种语言的约定。在 JavaScript 中 camelCase 更为自然。而在 HTML 中则是 kebab-case。点此参考官方文档 - 事件命名和引用规则与prop一致
vue组件component、属性prop及事件的命名和引用大小写规则(vue2 & vue3)
最新推荐文章于 2025-04-03 15:35:30 发布
本文详细介绍了Vue2和Vue3中组件命名和引用规则的异同,以及prop的命名规范。在组件命名上,kebab-case用于HTML模板,PascalCase则在JS中通用。对于prop,建议在声明时使用camelCase,模板中使用kebab-case。了解这些规则有助于提升项目的代码一致性与可维护性。
&spm=1001.2101.3001.5002&articleId=122331477&d=1&t=3&u=dafc62c6ed5d4244955d6e832df20d6c)
1658

被折叠的 条评论
为什么被折叠?



