小胖墩er 小胖墩er
首页
  • 前端文章

    • JavaScript
    • Vue
    • ES6
    • Git
  • Vue
  • React
  • HTML
  • CSS
  • 工具类
  • GitHub技巧
  • 博客搭建
  • 友情链接
💖关于
💻收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

小胖墩er

Better later than never.
首页
  • 前端文章

    • JavaScript
    • Vue
    • ES6
    • Git
  • Vue
  • React
  • HTML
  • CSS
  • 工具类
  • GitHub技巧
  • 博客搭建
  • 友情链接
💖关于
💻收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 工具类

  • 问题技巧以及优化

    • 问题总结

    • 优化技巧

      • axios发送get请求url传递字符时需要进行编码
      • 当选择某一项时,需要把指定项的值存储起来后使用
      • 优化&运算
      • 优化if语句中相同的代码案例
      • 解决v-for和v-if不能同时使用问题
        • 优化从两个数组中循环判断相等取值操作
    • 博客搭建

    • GitHub技巧

    • 技术
    • 问题技巧以及优化
    • 优化技巧
    小胖墩er
    2021-10-21

    解决v-for和v-if不能同时使用问题

    # 问题重现

    v-for&v-if

    // 伪代码
    
    <div v-for="item in List" v-if="item.type === 'nomal'">
    	// something code
    </div>
    
    1
    2
    3
    4
    5

    原因

    因为v-for的优先级比v-if优先级高,两者不能出现在同一节点上。

    解决办法

    利用computed对数据进行过滤,只返回符合条件的数据进行渲染

    computed: {
      /*
        用于解决v-for和v-if不能同时使用的问题,只会返回符合的数据进行渲染
        v-if="type === 'normal'"
      */
    
      filterList() {
        return this.List.filter((item) => {
          return item.type === 'normal'
        })
      }
    },
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    然后我们循环的时候直接循环过滤后的数据(filterList)就可以了

    在线编辑 (opens new window)
    #技巧总结
    上次更新: 2021/11/14, 07:48:46
    优化if语句中相同的代码案例
    优化从两个数组中循环判断相等取值操作

    ← 优化if语句中相同的代码案例 优化从两个数组中循环判断相等取值操作→

    最近更新
    01
    毛玻璃效果
    11-23
    02
    svg基本绘制
    11-23
    03
    滑动登录界面
    11-23
    更多文章>
    🖥️

    © 2021 小胖墩er 💌 粤ICP备2021158933号 🛀 Theme by 💝 Vdoing

    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×