美文网首页
Vue风格指南

Vue风格指南

作者: 兔子不打地鼠打代码 | 来源:发表于2018-06-07 11:25 被阅读7次

风格指南官方文档

一、优先级A

1、组件名为多个单词

避免跟html元素相冲突。根组件除外。

2、组件data必须是一个函数。

使每个组件都管理自己的数据。

3、prop定义应该尽量详细,至少要指定其类型。

【最好的做法】
props: {
  status: {
    type: String,
    required: true,
    validator: function (value) {
      return [
        'syncing',
        'synced',
        'version-conflict',
        'error'
      ].indexOf(value) !== -1
    }
  }
}

4、为v-for设置键值key。

以便维护内部组件及其子数的状态。

5、永远不要把v-if 和 v-for 同时用在一个元素上。

当 Vue 处理指令时,v-for 比 v-if 具有更高的优先级,所以如下代码:

<ul>
  <li
    v-for="user in users"
    v-if="user.isActive"
    :key="user.id"
  >
    {{ user.name }}
  </li>
</ul>

运算顺序:

this.users.map(fuction(user){
  if (user.isActive) {
    return user.name
  }
})

这样就导致,哪怕只渲染出小部分用户的元素,也得在每次重新渲染的时候遍历整个列表,不论活跃用户是否发生改变。

  • 修改方法一:
    所以,最好将 v-if 改成一个计算属性,返回筛选好的值,v-for在返回值的基础上进行遍历。
computed:{
  activeUsers: function(){
    return this.users.filter(function(user){
      return user.isActive
    })
  }
}
<ul>
  <li 
    v-for = "user in activeUsers"
    :key = "user.id"
    >
     {{ user.name }}
  </li>
</ul>

这样子的好处是:
1、过滤后的列表 activeUsers只会在users列表发生变化时才被重新运算,过滤更加高效。
2、使用了v-for = “user in activeUsers”之后,我们在渲染的时候只遍历activeUser,渲染更高效。
3、解耦渲染曾的逻辑,可维护性更强。

  • 修改方法二:
    把v-if 上移一层到容器元素,这样就不会对列表中的每一个用户检查isActive,且不会再isActive为否的时候运算v-for。
<ul  v-if="user.isActive">
  <li
    v-for="user in users" 
    :key="user.id"
  >
    {{ user.name }}
  </li>
</ul>

6、为组件样式设置作用域

根组件App和布局组件中的样式可以是全局的,但是其他组件都应该是有作用域的。

使用scoped属性,还可以使用唯一的class名,这样不会和第三方库的css不会运用到自己的html上,或者也可以选择添加一个app专属或者组件专属的前缀。

CSS Modules 用法教程-阮一峰

7、私有属性名

在插件、混入等扩展中始终为自定义的私有属性使用 $_ 前缀。

  • Vue使用_ 来定义自身的私有属性,如果单使用_有覆盖实例属性的风险。
  • Vue使用$前缀,来规定其自身的实例属性。
  • $_、一个自定义名结合,就可以作为用户定义的私有属性的约定,不会和Vue自身冲突。
var myGreatMixin = {
  // ...
  methods: {
    $_myGreatMixin_update: function () {
      // ...
    }
  }
}

相关文章

  • Vue文档学习(第1遍)

    Vue教程: Vue API: Vue风格指南: Cookbook

  • VUE风格指南

    title: 风格指南type: style-guide 这里是官方的 Vue 特有代码的风格指南。如果在工程中使...

  • Vue 开发起步指南

    必须通读的文档 Vue 2.x 核心文档 Vuex 状态管理文档 Vue router 路由文档 Vue 风格指南...

  • vue学习第一课之vue的推荐风格指南

    vue推荐风格指南: 先把思维导图记下来了,后期再继续补充相关的吧 官方风格指南:https://cn.vuejs...

  • vue开发规范

    来自掘金的分享JS规范css规范vue风格指南官方文档

  • Vue风格指南

    风格指南官方文档 一、优先级A 1、组件名为多个单词 避免跟html元素相冲突。根组件除外。 2、组件data必须...

  • Vue风格指南(A)

    优先级A(必要的) 组件名 除了App外,其他组件名应为多单词组成的,因为HTML元素都是单单词的,这样可以避免冲...

  • VUE风格指南

    组件名为多个单词必要组件名应该始终是多个单词的,根组件 App 除外。 组件数据必要组件的 data必须是一个函数...

  • Vue风格指南

    a.优先级A -- 私有属性名 在插件、混入等扩展中始终为自定义的私有属性使用 $_ 前缀。并附带一个命名空间以回...

  • vue风格指南

    规则分为四大类:1.必要的: 2.强烈推荐的: 3.推荐的 4.谨慎使用

网友评论

      本文标题:Vue风格指南

      本文链接:https://www.haomeiwen.com/subject/igywsftx.html