当前位置: 首页 > news >正文

Vue3命名规范指南

在 Vue 3 中,遵循一致的命名规范可以提高代码的可读性和维护性。以下是常见的命名规范和实践建议:


1. 组件命名

  • PascalCase(大驼峰式)
    单文件组件(.vue 文件)和组件引用时推荐使用 PascalCase,便于区分原生 HTML 元素。

    vue

    <!-- 文件名: MyComponent.vue -->
    <template>
      <div>My Component</div>
    </template>
    
    <!-- 使用 -->
    <MyComponent />
  • kebab-case(短横线分隔式)
    在 DOM 模板(如 HTML 文件)中,由于 HTML 不区分大小写,建议使用 kebab-case:

    html

    <my-component></my-component>

    运行 HTML


2. Props 命名

  • camelCase(小驼峰式)
    Props 在 JavaScript 中定义时使用 camelCase,在模板中转换为 kebab-case:

    js

    // 组件定义
    props: ['myPropName'];
    
    // 使用
    <MyComponent my-prop-name="value" />

3. 自定义事件

  • kebab-case
    事件名推荐使用 kebab-case(HTML 属性大小写不敏感):

    js

    // 触发事件
    emit('my-event');
    
    // 监听事件
    <MyComponent @my-event="handleEvent" />

4. 生命周期钩子

  • camelCase
    所有 Vue 生命周期钩子均为 camelCase(如 mountedbeforeUpdate)。

    js

    export default {
      mounted() {
        // ...
      },
    };

5. 组合式 API(Composables)

  • 以 use 开头
    可组合函数通常以 use 开头,遵循 React 社区的约定(如 useFetchuseCounter)。

    js

    // useCounter.js
    export function useCounter() {
      // ...
    }

6. 变量与方法

  • camelCase
    变量、方法、计算属性等使用 camelCase:

    js

    const myData = ref(0);
    function handleClick() { /* ... */ }
    const computedValue = computed(() => /* ... */);

7. 自定义指令

  • kebab-case
    自定义指令名称使用 kebab-case(如 v-focus):

    js

    app.directive('focus', {
      mounted(el) {
        el.focus();
      },
    });

8. 插槽(Slots)

  • kebab-case
    插槽名称推荐使用 kebab-case:

    vue

    <!-- 定义插槽 -->
    <slot name="header-content"></slot>
    
    <!-- 使用插槽 -->
    <template v-slot:header-content>...</template>

9. 路由与状态管理

  • Vue Router

    • 路由命名使用 camelCase 或 kebab-case(如 userProfile 或 user-profile)。

  • Pinia/Vuex

    • Store 模块命名使用 camelCase(如 userStore)。


规范总结

类型推荐格式示例
组件文件名PascalCaseUserProfile.vue
PropscamelCaseuserName
自定义事件kebab-caseupdate:user-name
组合式函数use + PascalCaseuseFetchData
自定义指令kebab-casev-custom-directive

注意事项

  1. HTML 大小写不敏感:在 DOM 模板中,组件名、Props、事件名等需使用 kebab-case。

  2. 一致性:项目团队应统一规范,可通过 ESLint 等工具自动检查。

  3. 与框架约定对齐:如 Vue Router 的命名路由、Pinia 的 Store 命名等,需遵循各自文档的建议。

遵循这些规范能让代码更清晰,减少因命名导致的潜在问题。

相关文章:

  • 网站建设的招标文件青岛运营网络推广业务
  • 南昌手机网站制作百度公司网站推广怎么做
  • 做家装的网站有哪些内容网址和网站的区别
  • 用织梦做的网站 图片打开很慢网站点击量与排名
  • 帮别人做高仿产品网站 违法么在线bt种子
  • 网站文章更新怎么做百度网站下拉排名
  • 数字内容体验进阶优化策略
  • OP2177运算放大器:高性能模拟信号处理的关键元件
  • 使用el-tab 实现两个tab切换
  • MCP协议java开发的servers,已开源
  • Linux 基础入门指南:用户管理、基本命令(一)
  • Golang标准库——runtime
  • Linux命令-iotop
  • 【Java】网络编程
  • Python爬虫教程008:BeautifulSoup库的基本介绍
  • jQuery 遍历
  • 浙江大学朱霖潮研究员:《人工智能重塑科学与工程研究》以蛋白质结构预测为例|附PPT下载方法
  • Unity网络开发基础 (3) Socket入门 TCP同步连接 与 简单封装练习
  • java_高并发之SpringBoot中实现一个通用Excel导出功能
  • 适配 AGP8.5 版本,版本依赖管理(五)
  • 新版本Xmind结合DeepSeek快速生成美丽的思维导图
  • hi3516cv610_new_defconfig内容
  • 异步函数 async/await的认识与学习
  • Windows cursor集成powershell(conda)
  • AI产品的上层建筑:提示词工程、RAG与Agent
  • 嵌入式硬件篇---USBUART串口