vue组件component、属性prop及事件的命名和引用大小写规则(vue2 & vue3)

本文详细介绍了Vue2和Vue3中组件命名和引用规则的异同,以及prop的命名规范。在组件命名上,kebab-case用于HTML模板,PascalCase则在JS中通用。对于prop,建议在声明时使用camelCase,模板中使用kebab-case。了解这些规则有助于提升项目的代码一致性与可维护性。
  1. vue2 和 vue3 下,命名和引用规则是相同的
  2. 组件命名规则
    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. 不同使用场景下的组件引用命名
    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 的。点此参考官方文档
  4. prop命名规则
    prop一般情况下使用camelCase (首字母小写,驼峰命名法,如组件内使用{props: ['myProp']})命名
  5. 不同使用场景下的prop引用命名
    5.1. 使用字符串模板(如template: '...')或单文件(.vue文件),kebab-case和camelCase均可,即myPropmy-prop都可以用来传入prop
    5.2. 使用非字符串模板(即不属于5.1的情况),直接使用HTML的情况下,由于 HTML 是大小写不敏感的,所以只有 kebab-case 是有效的,即只能使用my-prop
    5.3. 命名风格推荐
    在声明 prop 的时候,其命名应该始终使用 camelCase,而在模板和 JSX 中应该始终使用 kebab-case。
    我们只是单纯地遵循了每种语言的约定。在 JavaScript 中 camelCase 更为自然。而在 HTML 中则是 kebab-case。点此参考官方文档
  6. 事件命名和引用规则与prop一致
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值