性能
- v-for设置key
可复用元素,更新dom时,可根据key来识别唯一元素是否可复用,把dom变动成本降到最低 - v-if和v-for避免用在同一个元素上,减少遍历运算成本和渲染成本
- 过滤列表,将列表作为计算属性返回
- 显示隐藏状态,将v-if移至父容器
- 路由懒加载 异步组件
1 | // Foo.vue |
- webpack代码分割,按需加载 webpack4 -> SplitChunksPlugin,配置指南
1 | module.exports = { |
代码风格
组件样式作用域
- scoped
- module,生成的css对象注入到组件的$style计算属性
- BEM约定
- .block 块
- .block__element 元素
- .block–modifier 修饰符
1 | <template><button class="button">X</button></template> |
关于命名风格
- 推荐用 $_ 作为私有属性
- 单文件组件
- 大驼峰
- 横线连接 -
- 通用基础组件名
- Base html元素
- App 其他基础组件
- V 第三方ui组件库
- 单例组件,每个页面只会使用一次
- TheHeading.vue
- 模块中紧密耦合的组件
- 模块.vue
- 模块Item.vue
- 组件名使用
- 单文件组件、字符串模板、Jsx中 使用自闭合,大驼峰
- Dom模板中 使用闭合标签,横线连接 -