zoukankan      html  css  js  c++  java
  • vue项目中v-if 和 v-for 互斥代码报错提示

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

    <!-- bad:控制台报错 -->
    <ul>
      <li
        v-for="user in users"
        v-if="shouldShowUsers"
        :key="user.id">
          {{ user.name }}
      </li>
    </ul>
    

    一般我们在两种常见的情况下会倾向于这样做:

    为了过滤一个列表中的项目 (比如 v-for="user in users" v-if="user.isActive")。在这种情形下,请将 users 替换为一个计算属性 (比如 activeUsers),让其返回过滤后的列表。

    computed: {
      activeUsers: function () {
        return this.users.filter((user) => {
          return user.isActive
        })
      }
    }
    
    
    <ul>
      <li
        v-for="user in activeUsers"
        :key="user.id">
          {{ user.name }}
      </li>
    </ul>
    
    

    为了避免渲染本应该被隐藏的列表 (比如 v-for="user in users" v-if="shouldShowUsers")。这种情形下,请将 v-if 移动至容器元素上 (比如 ul, ol)。

    <!-- bad -->
    <ul>
      <li
        v-for="user in users"
        v-if="shouldShowUsers"
        :key="user.id">
          {{ user.name }}
      </li>
    </ul>
    
    <!-- good -->
    <ul v-if="shouldShowUsers">
      <li
        v-for="user in users"
        :key="user.id">
          {{ user.name }}
      </li>
    </ul>
    
  • 相关阅读:
    Linux网络基础配置
    UVA 116 Unidirectional TSP(dp + 数塔问题)
    修改Hosts文件
    倒排索引
    可以把阿里云上面的一些介绍和视频都看看
    练练脑,继续过Hard题目
    explicit的用法
    auto_ptr的使用和注意
    我写的快排程序
    快速排序、查第k大
  • 原文地址:https://www.cnblogs.com/yoona-lin/p/15474386.html
Copyright © 2011-2022 走看看