vue 列表渲染 v-for

一、v-for 基本使用

<!--v-for 指令1. 用于展示列表数据2. 语法:v-for="(item, index) in xxx" :key="yyy"3. 可遍历:数组、对象、字符串(用得少)、指定次数(用得少)
-->
<div id="root"><ul><!-- 遍历数组 --><li v-for="(item, index) in persons" :key="index">{{index}} --{{item.name}} --{{item.age}} --{{item.sex}}</li></ul><ul><!-- 遍历对象 --><li v-for="(item, index) in personObject" :key="index">{{item.name}} --{{item.age}} --{{item.sex}}</li></ul><ul><!-- 遍历字符串 --><li v-for="(item, index) in str" :key="index">{{index}} -- {{item}}</li></ul><ul><!-- 遍历数字 --><li v-for="(item, index) in 5" :key="index">{{index}} -- {{item}}</li></ul>
</div>

二、v-for 中的 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 是没有问题的-->
<div id="root"><ul><!-- 遍历数组 --><li v-for="(item, index) in persons" :key="item.id">{{item.id}} --{{item.name}} --{{item.age}} --{{item.sex}}<input type="text" name="" id=""></li></ul><p><button @click="add">按钮</button></p>
</div>

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

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

相关文章

nginx 上传 文件超时设置_nginx限制上传大小和超时时间设置说明/php限制上传大小...

现象说明&#xff1a;在服务器上部署了一套后台环境&#xff0c;使用的是nginx反向代理tomcat架构&#xff0c;在后台里上传一个70M的视频文件&#xff0c;上传到一半就失效了&#xff01;原因是nginx配置里限制了上传文件的大小client_max_body_size&#xff1a;这个参数的设置…

Mysql 5.7 的‘虚拟列’是做什么?

Mysql 5.7 中推出了一个非常实用的功能 虚拟列 Generated (Virtual) Columns 对于它的用途&#xff0c;我们通过一个场景来说明 假设有一个表&#xff0c;其中包含一个 date 类型的列 SimpleDate dateSimpleDate 是一个常用的查询字段&#xff0c;并需要对其执行日期函数&a…

linux 快照

一、快照管理器 二、选择保存的快照 — 出错了方便回去

工作琐事太多怎么办_东莞夫妻感情不合怎么办 东莞专业离婚咨询

东莞夫妻感情不合怎么办 东莞专业离婚咨询工作中的琐事影响感情交流&#xff0c;当然什么事也没有但我却打他&#xff0c;还有一些行刑人在旁边站着。行为泼辣得不到观众的好感。对当时的一些知识和政界发生。只记得内容是希望他好自为之&#xff0c;生活中她是位的。苏菲宗派里…

23种经典设计模式都有哪些,如何分类?Java设计模式相关面试

23种经典设计模式都有哪些&#xff0c;如何分类&#xff1f; 23种经典设计模式都有哪些&#xff0c;如何分类&#xff1f; java常用的设计模式&#xff1f;说明工厂模式 Java 中的23 种设计模式&#xff1a; Factory&#xff08;工厂模式&#xff09;&#xff0c; Builder&am…

vue 监视数据

一、Vue 会监视 data 中所有层次的数据 person: {name: mary,friends: [{name: bob, age: 18},{name: smith, age: 19}] } // 在 vm 上&#xff0c;都会为之配置 getter 和 setter 来检测数据二、监测对象中的数据 data 后追加的属性&#xff0c;Vue 默认不做响应式处理 dat…

五大常用算法学习笔记

一、分治算法&#xff1a;快速排序、归并排序、大整数乘法、二分查找、递归&#xff08;汉诺塔&#xff09; 基本概念&#xff1a;把一个复杂的问题分成若干个相同或相似的子问题&#xff0c;再把子问题分成更小的子问题… &#xff0c; 知道最后子问题可以简单的直接求解&…

stm32f429vref怎么接_STM32如何通过内部VREF得到实际的VDDA值

/****************************************************/// 程序用途&#xff1a;用来测试通过内部基准电压计算外部VDDA的值// 程序作者&#xff1a;孟瑞生// 微信公众号&#xff1a;科技老顽童/****************************************************/#include "stm32f…

处理表单数据

<!-- 收集表单数据&#xff1a;若&#xff1a;input:text&#xff0c;则v-model收集的是value的值&#xff0c;用户输入的就是value的值若&#xff1a;input:radio&#xff0c;则v-model收集的是value的值&#xff0c;且要给标签配置若&#xff1a;input:text&#xff0c;则…

史上最全的五大算法总结

分治算法 一、基本概念 在计算机科学中&#xff0c;分治法是一种很重要的算法。字面上的解释是“分而治之”&#xff0c;就是把一个复杂的问题分成两个或更多的相同或相似的子问题&#xff0c;再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解&#xff0c;原…

8客户端安装后无法启动_新君越涉水后车辆无法启动

车型&#xff1a;2010君越故障现象&#xff1a;涉水后车辆无法启动询问客户&#xff1a;涉水的水深10cm左右。 外观检查&#xff1a;TCM连接器进水、其它没发现进水迹象使用压缩空气吹干TCM连接器的进水&#xff0c;并处理机舱的接地点。GDS检测&#xff1a;U0074,控制模块通信…

vue 过滤器 filters

<!-- 过滤器&#xff1a; 定义&#xff1a;对要显示的数据进行特定格式化之后再显示&#xff08;使用与一些简单的逻辑&#xff09;语法&#xff1a;1. 注册过滤器&#xff1a;Vue.filter.(name, callback) 或 new Vue{filters: {}}2. 使用过滤器&#xff1a;{{xxx 过滤器名…

Java中的return this

Java中的return this return this就是返回当前对象的引用(就是实际调用这个方法的实例化对象) 示例&#xff1a; /*** 资源url*/public HttpConfig url(String url) {urls.set(url);//return this就是返回当前对象的引用(就是实际调用这个方法的实例化对象)return this;}调用…

mybatis 依赖于jdbc_大数据基础:Mybatis零基础入门

在Java企业级开发任务当中&#xff0c;持久层框架的选择&#xff0c;国内市场的主流选择一定有Mybatis的一席之地&#xff0c;从入门来说&#xff0c;Mybatis的学习难度不算高&#xff0c;但是要把Mybatis发挥出真正的效用&#xff0c;还是需要深入学习的。今天的大数据基础分享…

vue 内置指令

渲染文本 – v-text <!--v-text 指令&#xff1a;1. 作用&#xff1a;向其所在的节点中渲染文本内容2. 与插值语法的区别&#xff1a;v-text 会替换掉节点中的内容&#xff0c;{{xxx}} 则不会 --> <div id"root"><p>{{msg}} {{num}}</p> &g…

java this 三种用法

1.区分成员变量和局部变量 public class ThisDemo {public static void main(String[] args) {Student snew Student("小明明",20);System.out.println(s);}}class Student{String name;int age;public Student(String name, int age) {//注:没有加thisname name;a…

kendo treeview 修改节点显示值_VBA学习笔记60-1: Treeview控件

学习资源&#xff1a;《Excel VBA从入门到进阶》第60集 by兰色幻想本节讲Treeview控件。TreeView控件是以树形结构显示数据的控件。利用TreeView控件&#xff0c;可以设计出树形结构图&#xff0c;便于用户选择不同的项目。总公司人事结构是一级节点&#xff0c;公司一、公司二…

Java之路:this关键字的用法

&#xff08;1&#xff09;this代表当前对象的一个引用。所谓当前对象&#xff0c;指的是调用类中方法或属性的那个对象。 最经常使用this关键字的情况&#xff0c;是在对象的一个属性被方法或构造器的参数屏蔽时&#xff0c;需要调用这个被屏蔽的属性&#xff0c;如下&#xf…

跑分cpu_一加8T现身跑分网站:CPU正式敲定 10月15日见

一加8T将于10月15日发布(海外版将于10月14日发布)&#xff0c;现在关于一加8T的核心规格确认。今天&#xff0c;一加8T现身GeekBench跑分网站&#xff0c;确认该机搭载的是高通骁龙865旗舰处理器&#xff0c;而非高通骁龙865 Plus。与搭载高通骁龙865的一加8相比&#xff0c;一…

初识 react

<!--学 react 的原因&#xff1a;1. 原生 js 操作 DOM 繁琐、效率低&#xff0c;每次都要去获取 DOM每次操作 DOM 都会引起页面的重绘重拍2. 原生 js 没有组件化&#xff0c;代码复用率低react 的特点&#xff1a;1. 采用组件化模式&#xff0c;声明式编码来提高开发效率以及…