VUE 中的 v-for 和 v-if 是否可以共存
VUE 中的 v-for 和 v-if 是否可以共存
- 前言
- 1、面试经
- 2、正确回答
- 3、总结
- 总结:
前言
要成功,先发疯,头脑简单往前冲!
三金四银,金九银十,多学知识,也不能埋头苦干,
要成功,先发疯,头脑简单往前冲!
最近发现很多人也在问我v-for 和 v-if的面试问题,那么下面我就个大家分析一下!

1、面试经
提到这个问题,很多人肯定会脱口而出:1. Vue2 中 不可以2. Vue3 中 可以再往深问,可能少部分人会回答出:1. Vue2 中 v-for 优先级比 v-if 高
2. Vue3 中 v-if 优先级比 v-for 高
但是其实很多人都是背的,具体为啥会这样,很多人都没搞清楚,稍微再往深一问,95%的人就回答不出来了~
分析Vue2:
在项目中使用 v-for 和 v-if 共存与一个标签上,Vue2 中肯定会警告我们,不建议这么做,但是为啥不建议,根本没几个人知道~

可以看到在 Vue2 中,会先循环,然后在循环中去判断,判断为真则正常渲染,判断为假则执行 _e 函数,_e函数就是注释的意思,就是把判断为假的节点注释掉,也就是:1、先走 v-for 循环 3 次2、在循环体中走 v-if 判断3、判断 item === 2 则正常渲染,item === 2 则把这个节点注释掉所以最终选出出来 1、3 两个节点
因为其实我们只需要渲染2个节点,但是最终还是循环了3次,造成了性能浪费,
也就是 v-for 优先级高于 v-if,共存时会造成性能浪费
分析Vue3:
但是在 Vue3 中,v-for 和 v-if 却是可以共存的,为什么呢?我们还是拿最简单的代码来分析

可以到这个网站:**https://play.vuejs.org/**,看到解析后的代码


可以看到,跟 Vue2 不同的是,Vue3 中是先走判断,然后再走循环的,也就是:1、先走 v-if 判断2、如果 item !== 2,就去走循环也就是 v-for3、如果 item == 2,就执行 createCommandVNode,创建一个注释节点也就是在 Vue3 中,v-if 优先级是高于 v-for 的,真正循环的只有1、3这两个节点,这提高了性能!因为在 v-for 和 v-if 共存的时候,Vue3 会在底层帮我们转换成

2、正确回答
1、首先解答完vue2和vue3后的利和弊2、给出如何解决这个问题的思路,如使用computed处理
3、总结
总结就是不要让 v-if 和 v-for 共存在同一个标签中,遇到这种情况需要使用 computed 去计算,然后再去渲染!

总结:
前端路上 | 所知甚少,唯善学。
各位小伙伴有什么疑问,欢迎留言探讨。
— 关注我:前端路上不迷路 —
相关文章:
VUE 中的 v-for 和 v-if 是否可以共存
VUE 中的 v-for 和 v-if 是否可以共存 前言1、面试经2、正确回答3、总结总结: 前言 要成功,先发疯,头脑简单往前冲! 三金四银,金九银十,多学知识,也不能埋头苦干,要成功,…...
kubernetes 权限控制
RBAC引入了4个顶级资源对象:Role、ClusterRole:角色,用于指定一组权限;RoleBinding、ClusterRoleBinding:角色绑定,用于将角色(权限)赋予给对象 咱们通过Role可以配置命名空间下资源…...
vue中父组件异步传值,渲染问题
vue中父组件异步传值,渲染问题 父组件异步传值,子组件渲染不出来。有如下两种解决方法: 1、用v-if解决,当父组件有数据才渲染 <Child v-if"dataList && dataList.length > 0" :data-list"dataLis…...
09前后端分离+SSM整合的小案例
前端的Node 后端的Tomcat,是前端程序的容器。前端的npm 后端的maven 1. 导入前端项目 node版本:16.16.0 配置阿里镜像 npm config set registry https://registry.npmjs.org/ 更新npm版本 npm install -g npm9.6.6 用vscode打开解压后的项目 , 右上角…...
模仿ProTable创建ProTable组件
不多说废话直接上代码 父组件 // index.jsx/*** description 此ProTable是根据ProComponents里的ProTable模仿封装的简易版本* */ import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useState } from react import { Card, Table } from antd import…...
新品发布 | 多通道总线记录仪TLog1004,是你期待的吗?
新品发布 2024年1月12日,同星智能又发布一款多通道 CAN (FD)总线、LIN 总线接口logger设备,此款产品在TLog1002基础上进行了升级,同时内置 3 路数字输入和 2 路数字输出,便于多种信号测量和系统集成。可以满…...
Double数据类型保留3位小数
Double scrapGrn scrapQty * Double.parseDouble(lot.getCnvrsnFctr()) / 1000 ; // 保留3位小数 DecimalFormat decimalFormat new DecimalFormat("#.###"); String scrapGrnStr decimalFormat.format(scrapGrn); 345.12344 处理后 为 345.123 34…...
08- OpenCV:形态学操作(膨胀与腐蚀 、提取水平与垂直线)
目录 前言 一、膨胀(Dilation)与 腐蚀(Erosion) 二、形态学操作 1、开操作(Opening) 2、闭操作(Closing) 3、形态学梯度(Morphological Gradient) 4、…...
基于JavaWeb+SSM+Vue停车场微信小程序系统的设计和实现
基于JavaWebSSMVue停车场微信小程序系统的设计和实现 滑到文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 滑到文末获取源码 Lun文目录 目录 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相关…...
VUE---自定义指令
自定义指令:自己定义的指令,可以封装一些dom操作,扩展额外功能。可分为全局注册与 局部注册。 全局注册(main.js中注册): Vue.directive(指令名称,{ bind(ele,binding) {}, // 只执…...
开发安全之:Cross-Site Scripting (XSS) 漏洞
近期,我会结合研发云陆续发布开发安全相关的文章,欢迎大家关注! Overview echo json_encode($arr):向一个 Web 浏览器发送了未验证的数据,从而导致该浏览器执行恶意代码。 Details Cross-Site Scripting (XSS) 漏洞…...
代码随想录算法训练营第二十四天| 77. 组合
77.组合 public List<List<Integer>> combine(int n, int k) {if (n < k) {return null;}List<List<Integer>> list new ArrayList<>();List<Integer> path new ArrayList<>();backSource(n, path, list, k);return list;}pu…...
虚拟歌姬学习:DiffSinger,让GitHub下载快的方法!
《三分钟上手DiffSinger》系列 ——基础篇https://www.bilibili.com/video/BV1ug4y1S7Dk/?spm_id_from333.337.search-card.all.click&vd_source124076d7d88eee393a1d8bf6fc787efa 下载DiffSinger 建议用edge浏览器还有steam,有时只是慢,但是还是…...
What is `StringEscapeUtils.escapeHtml4` does?
StringEscapeUtils.escapeHtml4 作用是将特殊字符转换为它们对应的HTML实体形式,从而防止这些字符在网页中被解析为HTML标签或脚本,有助于防止跨站脚本攻击(XSS, Cross-Site Scripting) 依赖 <!--org.apache.commons.text.St…...
Dubbo 的心脏:理解和应用多种协议【十三】
欢迎来到我的博客,代码的世界里,每一行都是一个故事 Dubbo 的心脏:理解和应用多种协议【十三】 前言<dubbo:protocol> 基础<dubbo:protocol> 的定义和作用微服务中协议的重要性支持的协议类型配置示例 配置基本配置参数高级配置选…...
操作系统实验报告
目录 目录 实验一 一、实验结果 实验二 使用信号量实现进程互斥与同步 一、实验结果 1. 使用信号量实现有限缓冲区的生产者和消费者问题 2. 使用信号量实现读进程具有优先权的读者和写者问题 实验三 死锁和预防 一、实验要求 二、实验内容 三、实验结果 实验四 内…...
IPv6--ACL6(IPv6访问控制列表--基本ACL6配置)
ACL基本原理 ACL由一系列规则组成,通过将报文与ACL规则进行匹配,设备可以过滤出特定的报文。 ACL的组成 ACL编号: 在网络设备上配置ACL时,每个ACL都需要分配一个编号,称为ACL编号,用来标识ACL。不同分类的ACL编号范围不同,这个后面具体讲。 规则: 前面提到了,一个AC…...
C和指针课后答案
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 第八章课后答案 提示:以下是本篇文章正文内容,下面案例可供参…...
C语言——大头记单词
归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言📝 每一发奋努力的背后,必有加…...
根据自己修改后的容器制作镜像并上传docker hub
要将自己的镜像上传到Docker Hub,可以按照以下步骤进行操作: 首先,确保已经在本地构建好了需要上传的 Docker 镜像。如果还没有构建,可以使用 docker build 命令来创建镜像。 登录到 Docker Hub 账号。打开终端或命令提示符&…...
C语言编程实战:用ASCII码表玩转字符大小写转换(附完整代码)
C语言编程实战:用ASCII码表玩转字符大小写转换(附完整代码) 在编程的世界里,字符处理是最基础却又最容易被忽视的技能之一。很多C语言初学者在学习过程中,往往对字符和字符串的操作感到困惑——为什么a和A是不同的&…...
Jetson Orin Nano 新手避坑:从零部署YoloV5,我踩过的那些环境配置的‘雷’
Jetson Orin Nano 边缘AI部署实战:YOLOv5环境配置全攻略与避坑指南 1. 硬件准备与系统烧录 Jetson Orin Nano作为NVIDIA新一代边缘计算设备,其强大的AI算力与紧凑体积使其成为计算机视觉项目的理想选择。但在开始YOLOv5部署前,正确的硬件准…...
靖江注册公司需要多少钱?2026最新费用明细与隐形消费避坑指南
对于靖江的传统小微型企业、个体工商户、夫妻店及初创公司而言,注册公司的费用多少、是否存在隐形消费,是创业初期最关心的问题。这类企业大多没有专职会计,社保参保人数通常在3人以下,注册年限多在2年内,资金预算有限…...
解决国内网络问题:手把手教你离线部署tiktoken的cl100k_base编码器
离线环境下的tiktoken编码器部署实战指南 在自然语言处理领域,token切分是模型理解文本的第一步。对于使用GPT系列模型的开发者来说,tiktoken作为OpenAI官方推出的高性能tokenizer,其重要性不言而喻。然而,国内开发者常常面临一个…...
基于Sakura实验板的STM32流水灯项目实战:从GPIO控制到模式切换
1. 项目概述:从零到一,点亮你的第一串“流水”如果你刚拿到一块单片机开发板,面对一堆引脚和代码感到无从下手,那么“流水灯”几乎就是所有嵌入式开发者的“Hello World”。它简单、直观,却能让你快速理解GPIO…...
ADAU1701 DSP资源极限探索:从31段EQ到内存溢出,手把手教你做性能压力测试
ADAU1701 DSP资源极限探索:从31段EQ到内存溢出的性能压力测试方法论 在音频处理领域,ADAU1701作为一款经典的DSP芯片,其资源分配与性能边界一直是开发者关注的焦点。当客户提出"能否实现90段EQ"这类需求时,仅凭数据手册…...
告别拓展坞!实测Spacedesk无线投屏:Win10/Win11到iPad的延迟、画质与触控体验全解析
Spacedesk无线投屏实战评测:Win11与iPad Pro的协作新范式 当iPad Pro的Liquid视网膜显示屏遇上Windows系统的生产力工具,能否摆脱线材束缚实现无缝协作?Spacedesk这款免费无线投屏软件正在重新定义多屏工作场景。作为深度体验过各类投屏方案的…...
脉冲神经网络与测试时自适应技术解析
1. 脉冲神经网络与测试时自适应概述脉冲神经网络(Spiking Neural Networks, SNNs)作为第三代神经网络模型,其核心在于模拟生物神经元的脉冲发放机制。与传统人工神经网络不同,SNN中的神经元仅在膜电位达到特定阈值时才产生脉冲信号…...
类型转换:隐式、显式与类型提升
在Java开发中,数据类型转换是最基础也最容易被忽略的核心操作——从简单的变量赋值、数字运算,到复杂的方法传参、泛型适配、多态转型、序列化,几乎每一行代码都隐含着类型转换的逻辑。很多同学只停留在“会用”的层面:知道int转l…...
【Perplexity词组搭配查询权威基准测试】:覆盖医学/法律/工程三大垂直领域,17项指标碾压传统n-gram方法(数据已通过ACL评审)
更多请点击: https://intelliparadigm.com 第一章:Perplexity词组搭配查询权威基准测试概览 Perplexity(困惑度)作为衡量语言模型预测能力的核心指标,其在词组搭配(collocation)查询任务中的表…...
