vue-v-for遍历index与id

news2024/11/30 20:29:08

一.遍历列表key的作用(index作为key)

虚拟DOM上有key,是虚拟的,但是真实DOM上没有,key是Vue内部的

当使用index作为key的时候,Vue会根据初识数据生成一个初始的虚DOM,

然后在页面上映射出真实DOM

如果向数据中头添加了一项新数据,就会生成一段新的数据

紧接着Vue就会根据新的数据生成新的虚拟DOM,然后新的虚拟DOM就会去和旧的虚拟DOM进行diff(虚拟DOM对比算法)

如果key相同的话,比较其他的一样不一样,若一样将旧虚拟DOM中映射出来的真实DOM的值进行复用,反之直接写入新的真实DOM之中

二.遍历列表式key的作用(id作为key)

当使用id作为key进行遍历列表的时候,Vue根据初始的数据生成一个初始的虚拟DOM,然后再转为页面上的真实DOM

当添加一个新的数据时,会生成新的数据段,然后生成新的虚拟DOM,这时就会使用虚拟DOM对比算法用新的虚拟DOM和旧的虚拟DOM进行对比

如果key一样的话,进行其他的对比,一样的可以进行再次的复用,使用id作为key,保证了key的唯一性,防止数据错乱

三.面试题:react,vue中的key有什么作用?(key的内部原理)

1.虚拟DOM中key的作用:

  key是虚拟DOM随想的标识,当数据发生改变时,Vue会根据【新数据】生成【新的虚拟DOM】

  随后Vue进行【新虚拟DOM】与【旧虚拟DOM】的差异比较

比较规则如下:

2.对比规则

 (1)旧虚拟DOM中找到了与新虚拟DOM中相同的key

      ①若虚拟DOM中内容没变,直接使用之前的真实DOM

      ②若虚拟DOM中的内容变了,则生成新的真实DOM,随后替换掉页面中之前的真实DOM

  (2)旧虚拟DOM中未找到与新虚拟DOM相同的key

            创建新真实DOM,随后渲染到页面

3.用index作为key可能会引发的问题:

     1.若对数据进行逆序添加,逆序删除等破坏顺序操作,会产生没有必要的真实DOM更新 ==>界面效果没问题,只是效率低

      2.如果结构中还包含输入类的DOM,会产生错误DOM更新==>界面有问题

4.开发中如何选择key?:

     1.最好使用每条数据的唯一标识作为key,比如id,手机号没身份证号,学号等

     2.如果不存在对数据的逆序添加,逆序删除等破坏顺序操作,仅用于列表用于展示,使用index作为key是没有问题的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1555711.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue 窗口内容滚动到底部

onMounted(() > {scrollToBottom() }) // 滚动到底部方法 const scrollToBottom () > {// 获取聊天窗口容器let chatRoom: any document.querySelector(".chat-content");// 滚动到容器底部chatRoom.scrollTop chatRoom.scrollHeight; } 效果 聊天窗口代码…

HashMap关键源码带读

文章目录 目录 文章目录 前言 1 . 成员变量 灵魂五问 第一问: 默认初始化容量为啥是16? 第二问: 最大容量为什么必须是2的幂? 第三问: 链表转红黑树的阈值为什么是8? 第四问: 红黑树转链表的阈值为什么是6? 第五问: 默认加载因子为什么是0.75? 2. 成员方法 eq…

Discuz采集发布插件

Discuz(简称DZ)是一款知名的开源论坛系统,广泛应用于各类网站社区。对于许多站长来说,保持论坛内容的更新是一项挑战,特别是在内容量庞大的情况下。为了解决这个问题,有一类特殊的插件是用于在Discuz论坛中…

《QT实用小工具·四》屏幕拾色器

1、概述 源码放在文章末尾 该项目实现了屏幕拾色器的功能,可以根据鼠标指定的位置识别当前位置的颜色 项目功能包含: 鼠标按下实时采集鼠标处的颜色。 实时显示颜色值。 支持16进制格式和rgb格式。 实时显示预览颜色。 根据背景色自动计算合适的前景色…

国内好用的chatGPT和AI绘图工具

分享一个比较好用的AI 分享一个比较好用的AI,只是需要开通会员,目前官网的价格是:298,开通之后可以使用chatgpt4、AI绘画、图片融合等等!不开通的话是可以免费使用15次的,下面是一些介绍图片!链…

安全团队需要重点演练的四大威胁

文章目录 前言一、勒索软件攻击二、第三方风险三、内部威胁四、分布式拒绝服务攻击(DDoS)前言 桌面演练(推演)是一种重要的安全演习形式,参演人员利用演练方案、流程图、计算机模拟、视频会议等辅助手段,针对事先假定的演练情景,讨论和推演应急决策及现场处置,从而促使相…

点点数据K参数加密逆向分析(RPC方案跟加密算法还原)

文章目录 1. 写在前面2. 接口分析3. 断点分析4. RPC调用5. 算法还原 【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长…

蓝桥杯物联网竞赛_STM32L071_13_定时器

CubeMx配置LPTIM: counts internal clock events 计数内部时钟事件 prescaler 预分频器 updata end of period 更新期末 kil5配置: 中断回调函数完善一下: void HAL_LPTIM_AutoReloadMatchCallback(LPTIM_HandleTypeDef *hlptim){if(cnt ! 10) cnt…

用Python实现办公自动化(自动化处理Excel工作簿)

自动化处理Excel工作簿 (一)批量生产产品出货清单 以“出货统计表”为例, 需求:将出货记录按照出货日期分类整理成多张出货清单 “出货统计表数据案例” “产品出货清单模板” 1.提取出货统计表的数据 “Python程序代码” # 使用…

计算机毕业设计Python+Spark知识图谱高考志愿推荐系统 高考数据分析 高考可视化 高考大数据 大数据毕业设计 机器学习 深度学习 人工智能

学院(全称): 专业(全称): 姓名 学号 年级 班级 设计(论文) 题目 基于Spark的高考志愿推荐系统设计与实现 指导教师姓名 职称 拟…

机器学习之聚类算法、随机森林

文章目录 随机森林决策树基础特征值问题? 聚类算法 随机森林 决策树 基础 概念:从根节点一步步走到叶子节点(决策); 组成:根节点第一个选择的节点;叶子节点最终的决策结果;非叶子…

分文件编程——Makefile

1.分文件编程 1.1源文件&#xff1a; .c结尾的文件 包含main函数的.c 包含子函数的.c 1.2头文件&#xff1a; .h结尾的文件 文件包含 头文件、宏定义、typedef、结构体、共用体、枚举、函数声明… 调用时用#include"xx.h" #include< >与#include " &q…

关系数据库理论

函数依赖: 关系数据库的规范化理论是数据库逻辑设计的工具。 关系模式由五部分组成&#xff0c;是一个五元组&#xff1a; R(U, D, DOM, F)  关系名 R 是符号化的元组语义  U 为一组属性  D 为属性组 U 中的属性所来自的域  DOM 为属性到域的映射  F 为属…

JUC/多线程原理(三)

一、Monitor 原理 二、synchronized 原理 (一)、基础 synchronized 即使内部抛出异常也会释放锁 (二)、轻量级锁 轻量级锁的使用场景&#xff1a;如果一个对象虽然有多线程要加锁&#xff0c;但加锁的时间是错开的&#xff08;也就是 没有竞争 &#xff09;&#xff0c;那么…

目前现货黄金行情技术分析

目前行情黄金可以投资吗&#xff1f;不论是黄金价格怎么波动&#xff0c;总是有投资者问这个问题&#xff0c;原因是他们搞不清现状&#xff0c;弄不懂当前的市场形势&#xff0c;对于技术分析和基本分析的方法也不甚了解&#xff0c;因此缺乏对未来行情判断的能力。下面我们就…

E2697A安捷伦E2697A高阻抗适配器

181/2461/8938产品概述&#xff1a; E2697A高阻抗适配器允许将需要高阻抗输入的探头&#xff08;例如无源探头、电流探头&#xff09;连接到Infiniium 54850、80000和90000系列高性能示波器。E2697A高阻抗适配器扩展了Agilent Infiniium高性能示波器的功能&#xff0c;使其成为…

《霍格沃茨之遗》推荐购买吗 《霍格沃茨之遗》不支持Mac电脑怎么办 crossover24软件值得买吗 crossover中文官网

《霍格沃茨之遗》作为一款期待已久的游戏&#xff0c;自发布以来就吸引了无数玩家的目光。它以哈利波特系列为背景&#xff0c;提供了一个沉浸式的魔法世界体验&#xff0c;让玩家能够探索广阔的霍格沃茨魔法学校&#xff0c;体验魔法学习与战斗&#xff0c;解开古老谜团的乐趣…

医院消防巡检系统革新:凡尔码平台二维码技术引领安全升级

医院消防巡检&#xff0c;传统依赖手工记录&#xff0c;效率和准确性受限。凡尔码平台的二维码消防巡检系统&#xff0c;以创新技术颠覆传统&#xff0c;实现即时、精准的安全管理&#xff0c;确保医院消防安全无虞。 凡尔码平台的消防巡检系统不仅提升了医院安全管理的效率&a…

UE4_碰撞_射线检测不到物体原因及跳不到圈内的问题

UseSimpleAsComplex 和 UseComplexAsSimple 标记的作用和使用时间。 虚幻引擎 4 中有简单和复杂碰撞形态。 简单碰撞 是基础&#xff0c;如盒体、 球体、胶囊体和凸包。 复杂碰撞 是给定对象的三角网格图。 虚幻引擎 4 会默认创建简单和复杂两种形态&#xff0c;然后基于用户需…

上位机图像处理和嵌入式模块部署(qmacvisual测量标定)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在机器视觉中,测量是很重要的一个环节。如果是简单的定位,可能精度要求并不那么严格。但是如果是对产品进行QA测量,需要精确到0.1mm,甚至是0.05mm这样的精度,那就需要对camera…