views 文件夹 命名
views 文件夹下面是由 以页面为单位的 vue 文件 或者 模块文件夹 组成的,放在 src 目录之下,与 components、assets 同级。
由名词组成如:
car order cart
- 单词最少有一个
- 尽量是名词
- 全部小写,已中划线分割
good: "car-info order-detail cart" ✅
bad: "carInfo carpage" ❎
good: "car" ✅
bad: "greet" ❎
good: "car" ✅
bad: "Car" ❎
views vue文件 命名
views vue 文件代表着页面的名字,放在模块文件夹之下
尽量是名词
全部小写,开头的单词就是所属模块名字:car-detail、car-edit、car-list
- 名字至少两个单词
good: "car-detail" ✅
bad: "CarPage Car" ❎
- 常用结尾单词有
good: "detail edit list info report" ✅
- 以 Item 结尾的代表着组件
good: "car-list-item car-info-item" ✅
Vue方法 顺序
- el
- name
- parent
- functional
- [delimiters, comments]
- [components, directives, filters]
- extends
- mixins
- inheritAttrs
- model
- [props, propsData]
- data
- computed
- watch
- LIFECYCLE_HOOKS
- methods
- [template, render]
- renderError
- name
- minxs
- components
LIFECYCLE_HOOKS: [
'beforeCreate',
'created',
'beforeMount',
'mounted',
'beforeUpdate',
'updated',
'activated',
'deactivated',
'beforeDestroy',
'destroyed'
]
注:只有LIFECYCLE_HOOKS 在保存的时候顺序自动变化
Vue method自定义方法 命名
- 驼峰命名
good: "getListData jumpPage openCarInfoDialog" ✅
bad: "get_list_data get-list-data getlistData" ❎
- 常用单词开头
set get open close jump
good: "jumpPage openCarInfoDialog" ✅
bad: "go nextPage show open login" ❎
- Ajax方法以
get post
开头,以data
结尾
good: "getListData postFormData" ✅
bad: "takeData confirmData getList postForm" ❎
- 事件方法以
on handle
其中一种开头, 整个项目只能用一个
good: "onTypeChange onUsernameInput" ✅
init refresh 单词除外
Vue生命周期方法 注意点
- 不在
mounted、created
之类的方法写逻辑,取Ajax 数据
Vue组件 命名
始终是多个单词的,根组件 App 除外
todo-item car-info-item
- 全部小写 已中划线分割
good: "todo-item car-info-item" ✅
bad: "todo-Item todoItem Todo-item" ❎
- 名字至少两个单词
good: "todo-item car-info-item" ✅
bad: "todo car info" ❎
结构基础划分
└── src
├── assets
│
├── components
│ ├── side-bar
│ │ ├── src
│ │ │ ├── index.vue
│ │ │ └── side-bar-item.vue
│ │ └── index.js
│ └── top-bar
│ ├── src
│ │ └── index.vue
│ └── index.js
│
└── view
├── car
│ ├── src
│ │ ├── car-detail
│ │ │ └── index.vue
│ │ └── car-edit
│ │ └── index.vue
│ └── index.js
└── payment-auth
├── src
│ ├── payment-detail
│ │ └── index.vue
│ └── payment-verify
│ └── index.vue
└── index.js