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

  1. vue2 和 vue3 下,命名和引用规则是相同的
  2. 组件命名规则
    2.1. 当使用 kebab-case (短横线分隔,如Vue.component('my-component-name', { /* ... */ })) 定义一个组件时,你在引用这个自定义元素时也必须使用 kebab-case,则必须使用引用组件
    2.2. 当使用 PascalCase (首字母大写,如Vue.component('MyComponentName', { /* ... */ })) 定义一个组件时,你在引用这个自定义元素时两种命名法都可以使用。也就是说 都是可接受的
  3. 不同使用场景下的组件引用命名
    3.1. 使用字符串模板(如template: '...')或单文件(.vue文件),kebab-case和PascalCase均可,即都可以用来引用组件
    3.2 使用非字符串模板(即不属于3.1的情况),直接使用HTML的情况下,由于 HTML 是大小写不敏感的,所以只有 kebab-case 是有效的,即只能使用
    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一致

你可能感兴趣的:(vue.js,javascript,前端)