vue3 中 因为 v-if 比 v-for 具有更高的优先级

img

官方里说的是因为 user 是 v-for的 迭代的变量 所以才会产生 这个问题

那我要是这样呢?

img

img

v-if 里的变量是单独的, 可行?

vue3 中v-if优先于v-for,你可以按下面方法使用


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

可以。这个没什么好解释的,变量在未声明之前使用会抛出错误。,所以要先声明再使用,vue2是v-for优先级大于v-if,vue3是v-if优先级大于v-for

vue3是v-if优先级大于v-for,你可以把v-if换个位子调整优先级

img