v-for 和 v-if 为什么不能一起使用; 想要一起使用怎么办?

v-for的优先级比v-if高;

v-for和v-if 放在同一级标签里面  ,每次都要先循环;再判断;消耗很多性能;

对于一组数据来说;如果我们只想通过v-if创建满足条件(v-if = ‘item.isActive’)的;

这时候我们采取一些方法跳过无效循环;

 1 可以使用计算属性;将满足条件的数组选择出来;用filter方法;再使用v-for:"item in activeUsers"  即可

  computed:{

    activesUsers(){
  return this.arr.filter( item => item.isActive)

}

 2 第二种方法

<template v-for="(item, index) in tabItems">
              <h-tab-pane
                v-if="item.show"
                :key="index"
                :label="item.title"
                :id="item.id"
                :name="item.id"
              >
                <comment :is="item.componentName"></comment>
              </h-tab-pane>
 </template>

 

posted @ 2021-09-26 21:08  立志成为前端工程师  阅读(630)  评论(0)    收藏  举报