vue使用注意事项:v-for和v-if不要一起使用

风格指南:https://cn.vuejs.org/v2/style-guide/

v-for和v-if不应该一起使用,必要情况下应该替换成computed属性。

  • 原因:v-for比v-if优先,如果每一次都需要遍历整个数组,将会影响速度,尤其是当之需要渲染很小一部分的时候。

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

如上情况,即使100个user中之需要使用一个数据,也会循环整个数组。

  • 正确:

    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>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容