上一篇
“这个按钮组件到底叫Btn
还是BaseButton
?数字能不能直接用在组件名里?为什么同事写的UserList1
让我看得头皮发麻?”
如果你在Vue项目里遇到过类似的困惑,那么这篇文章就是为你准备的,规范的命名不仅能提升代码可读性,还能让团队协作更顺畅,今天我们就来聊聊Vue组件命名那些事儿,特别是数字使用的“潜规则”。
Vue官方推荐使用帕斯卡命名法(即每个单词首字母大写)来命名组件,
UserProfile
SidebarMenu
userProfile
(小写开头,不符合单文件组件规范) 为什么?
<div>
、<span>
)区分开。 <UserProfile />
一眼就能看出是自定义组件。 名字要能直接体现组件的功能,避免模糊的缩写或随意命名:
ImageUploader
(明确功能) ImgUp
(缩写不直观) ComponentA
(毫无意义) Base
前缀如果是会被复用的基础组件(比如按钮、输入框),可以加Base
前缀:
BaseButton
BaseInput
数字可以用在组件名里,但必须遵循以下原则,否则容易引发混乱:
1UserList
(不符合JS变量命名规则) UserListV1
(数字放在末尾) ChartV2
(表示第二版图表组件) Step1
、Step2
(表示流程步骤) Table3
(如果只是随意编号,建议用语义化名称如PagedTable
) 如果项目中已经有类似UserList1
、UserList2
的组件,可能是历史遗留问题,建议:
比如UserProfileWithAvatarAndActions
,可以:
UserAvatar
+ UserActions
。 UserProfile
而非UsrPrfl
)。 对于通过v-for
渲染的列表项组件,可以用-item
后缀:
<template v-for="item in list"> <UserCardItem :data="item" /> </template>
如果是封装第三方库(比如Element UI的ElButton
),保留原有前缀即可,避免混淆:
ElButton
(Element UI的按钮) AppButton
(自己封装的按钮) UserCard
而非user-card
(模板中会自动转译)。 DashboardV2
。 下次当你纠结ButtonPrimary
和PrimaryButton
哪个更好时,记住一条原则:让名字自己说话,让同事一看就懂。 🚀
(注:本文参考Vue官方风格指南及主流团队实践,信息截至2025年8月。)
本文由 徭浩大 于2025-08-01发表在【云服务器提供商】,文中图片由(徭浩大)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/503287.html
发表评论