1.组件名
- 组件名应该为多个单词:避免与现有或者未来的标签或组件冲突
- 内置组件除外
2.组件数据data
-
在组件中使用data数据的时候,值必须是一个返回对象的函数,如果多个组件共用一个数据对象,不便于数据的单独管理和维护。
-
new Vue里面(即根实例中)是可以使用对象的因为只有这么一个实例
3.prop定义
- 应该尽量详细,至少需要指定数据类型,格式不正确时,vue会报警告,能帮忙捕获潜在的错误源
- 写明组件api,易用易懂
4.v-for的使用
- 配合key使用
- 最好使用唯一的标识作为key,便于维护数据和管理子数据,如果可以不唯一,可能会造成操作混乱
5.v-for 与v-if
- v-for的优先级比v-if高
- v-for应该避免与v-if一起使用,避免渲染需要隐藏的元素
- 可以将v-for的数据对象换成是计算属性,遍历过滤之后的数据,过滤后的列表只会在数据发生相关变化时才被重新运算,过滤更高效
- 在渲染的时候只遍历活跃用户,渲染更高效。
- 解藕渲染层的逻辑,可维护性 (对逻辑的更改和扩展) 更强
- 可以将 v-if 移动到容器元素,这样就只需要检查元素一次,且不会再v-if的值为false的时候运算v-for
6.样式作用域
- 顶级App和布局容器中的样式可以是全局的
- 可以使用scoped特性,或者css modules
- 尽可能让样式名唯一,减小覆写和被覆写的可能性
7.私有属性名
-
Vue 使用 _ 前缀来定义其自身的私有属性,所以使用相同的前缀 (比如 _update) 有覆写实例属性的风险
-
对于 $ 前缀来说,其在 Vue 生态系统中的目的是暴露给用户的一个特殊的实例属性,所以把它用于私有属性并不合适。
-
推荐把这两个前缀结合为 $_,作为一个用户定义的私有属性的约定,以确保不会和 Vue 自身相冲突