当前位置: 首页 > article >正文

vue2-v-if和v-for的优先级

vue2-v-if和v-for的优先级

1.v-if和v-for的作用

  • v-if是条件渲染,只有条件表达式true的情况下,才会渲染
  • v-for是基于一个数组来渲染一个列表,在v-for的时候,保证给每个元素添加独一无二的key值,便于diff算法进行优化
<div v-if="ifShow"></div>
<p v-for="item in items" :key="item.id">{{item}}</p>

2. 优先级

  • 优先级是为了讨论先执行v-for还是先执行v-if
  • 那就有两种情况,v-if和v-for在同一个元素上和不同的元素上

2.1 同一个元素上的v-if和 v-for的优先级

<div v-if="isShow" v-for="item in items" :key="item.id">{{ item.name}}</div>
<script>
  const app=new Vue({
    el:'#app',
    data(){
        return{
            items:[
              {id:1,name:'tom'},
              {id:2,name:'tony'}
            ]
        }
    },
    computed:{
        ifShow(){
            return this.items && this.items.length>0
        }
    }
  })
</script>
  • 这种情况下v-for的优先级高于v-if,也就是先执行v-for,在执行v-if.这种情况下就会造成性能的浪费

2.1 不同标签上的v-if和v-for

<div v-if="ifShow">
  <p  v-for="item in items" :key="item.id">{{ item.name}}</p>
</div>
  • 这种情况下v-if优先级高于v-for

3. 总结

  • 在VUE2中,当v-if和v-for同时出现时,v-for的优先级更高
  • 所以最好不要同时出现
  • 但在VUE3中,当v-if和v-for同时出现时,v-if的优先级更高

http://www.kler.cn/a/534166.html

相关文章:

  • Agentic Automation:基于Agent的企业认知架构重构与数字化转型跃迁---我的AI经典战例
  • 107,【7】buuctf web [CISCN2019 华北赛区 Day2 Web1]Hack World
  • 20250205——Windows系统基于ollama的DeepSeek-R1本地安装
  • vue2-key的原理与作用
  • 2025年最新python就业方向、就业前景等
  • unity学习26:用Input接口去监测: 鼠标,键盘,虚拟轴,虚拟按键
  • Ubuntu添加硬盘踩坑日志:SMB无权限的问题
  • 【前端构建】Rollup: 下一代 JavaScript 模块打包器
  • 【Elasticsearch】文本分类聚合Categorize Text Aggregation
  • 路由器及工作原理与常用路由配置命令详解
  • Redis主从模式与哨兵模式详解及案例分析
  • 如何利用maven更优雅的打包
  • java 日常下拉框接口字典封装
  • DeepSeek R1 简单指南:架构、训练、本地部署和硬件要求
  • 后缀表达式 C++ 蓝桥杯 栈
  • JVS低代码逻辑引擎多种业务场景触发案例配置:涵盖列表页按钮、表单数据、流程审批、外部API接口调用等
  • Cookie及Session---笔记
  • Java面试题基础篇3:10道基础面试题
  • 安装和卸载RabbitMQ
  • 基于Javascript的封装、方法重载、构造方法
  • 【ArcGIS Pro简介2】
  • 1. Kubernetes组成及常用命令
  • DeepSeek 与 ChatGPT 对比分析
  • Linux 常用命令与实战教程
  • HTTP请求响应周期步骤
  • 基于Ubuntu2404搭建Zabbix7.2