可复用的组件
解决单一的、独立的、可复用的功能,因此这一点应该作为拆分一个组件的依据
如果一个组件内容涉及到的逻辑、实现的功能特别多,代码几千行,那么这个组件需要再拆分
例如:封装需要支持弹窗的排序组件,应该有三个文件:组件入口文件、排序组件、弹窗组件
vue
<template>
<div>
sort
</div>
</template>文件命名
- 大驼峰命名:更方便,对于大小写不敏感的操作系统,涉及文件操作时可能有问题
- 全小写用横线分隔:没那么方便,但没有任何问题
template 部分
- 避免使用
id - 避免复杂的逻辑计算,只负责读取数据和显示数据,应使用
computed或methods替代 - 避免行内样式
- 避免直接修改
dom,例如样式的修改应动态控制class或者style达到效果 - 二次封装必须兼容原组件写法及用法,使用
v-bind="$attrs"及v-on="$listeners" v-for必须要加keyv-for和v-if禁止写在同一个标签上/组件上v-if和v-show应根据实际渲染情况选择使用
script 部分
props定义必须写type和default / require- 与视图渲染无关的数据结构避免放到
data里 - 纯逻辑计算,应适当抽离或复用,避免全放到组件内部(例如:格式化时间、拷贝、格式化树结构等)
- 在能够被
babel转成ES5的前提下,语法用新不用旧- 避免不断
let _this = this来在子层级获取实例,用箭头函数替代 - 对象的方法简写等
{ a: 1, getData () {} } - ...
- 避免不断
- 禁止提交
debugger及console
style 部分
style标签必须要有scoped属性,对于全局的样式应该有公用的css- 样式复用:
css变量、使用,给不同的选择器定义同一批样式 - 属性尽量简写:
padding: 0px 2px,而不是padding-left: 2px; padding-right: 2px;...
0
