vue风格指南(简)

========================================================props

prop 的定义应该尽量详细,至少需要指定其类型

反例:props: ['status']// 这样做只有开发原型系统时可以接受

props: {
    status: String
}

========================================================v-for+key

反例:

<ul>
    <li v-for="todo in todos">
         {{ todo.text }}
      </li>
</ul>

<ul>
    <li  v-for="todo in todos" :key="todo.id">
         {{ todo.text }}
    </li>
</ul>

========================================================v-if+key

v-if + v-else 的元素类型相同,最好使用 key (比如两个 <div> 元素)。

Vue 会尽可能高效的更新 DOM。这意味着其在相同类型的元素之间切换时,会修补已存在的元素,而不是将旧的元素移除然后在同一位置添加一个新元素。

<div  v-if="error" key="search-status">
       错误:{{ error }}
</div>
<div  v-else  key="search-results">
       {{ results }}
</div>

========================================================v-if、v-for不用同一元素

v-for 比 v-if 具有更高优先级

反例:

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

方式一:计算属性替代v-if过滤,有更高渲染效率

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

computed: {
      activeUsers: function () {
           return this.users.filter(function (user) {
               return user.isActive
           })
       }
}

方式二:将v-if移到上级元素上

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

========================================================vue文件名

反例:

components/
     |- myComponent.vue

components/
           |- MyComponent.vue//大写开头

components/
          |- my-component.vue//横线连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值