Vue如何实现列表渲染,应用有什么
Admin 2022-07-08 群英技术资讯 479 次浏览
in 也可以用 of 代替
<body> <div id="div1"> <li v-for='(p,i) in persons' :key=i> {{p.name}}--{{p.age}} <!-- 张--18 李--19 刘--17 --> </li> </div> </body> <script type="text/javascript"> Vue.config.produnctionTps=false new Vue({ el:"#div1", data:{ persons:[ {id:'001',name:"张",age:18}, {id:'002',name:"李",age:19}, {id:'002',name:"刘",age:17}, ] } }) </script>
<body> <div id="div1"> <li v-for='(p,k) in persons' :key=k> {{p}}--{{i}} <!-- 张--name 18--age --> </li> </div> </body> <script type="text/javascript"> Vue.config.produnctionTps=false new Vue({ el:"#div1", data:{ persons:{ name:"张", age:18 } } })
<body> <div id="div1"> <li v-for='(p,i) in str' :key=i> {{p}}--{{i}} <!-- a--0 b--1 c--2 d--3 e--4 --> </li> </div> </body> <script type="text/javascript"> Vue.config.produnctionTps=false new Vue({ el:"#div1", data:{ str:"abcde" } }) </script>
<body> <div id="div1"> <li v-for='(p,i) in 5' :key=i> {{p}}--{{i}} <!-- 1--0 2--1 3--2 4--3 5--4 --> </li> </div> </body>
在上面都用的index 作为key,但是在破坏顺序修改dom以及有input内容就会出错。仅在用于渲染页面而不需要修改页面时可用index作为key.
强烈建议用数据的唯一标识,如id、手机号、邮箱号作为key
key是虚拟DOM对象的标识,当数据发生变化时,Vue会根据[新数据]生成[新的虚拟DOM] ,随后Vue进行[新虛拟DOM]与[旧虛拟DOM]的差异比较,比较规则如下:
(1).旧虚拟DOM中找到了与新虚拟DOM相同的key:
①.若虛拟DOM中内容没变, 直接使用之前的真实DOM!
②.若虛拟DOM中内容变了,则生成新的真实DOM,随后替换掉页面中之前的真实DOM。
(2).旧虚拟DOM中未找到与新虚拟DOM相同的key创建新的真实DOM,随后渲染到到页面。
1.若对数据进行:逆序添加、逆序删除等破坏顺序操作:
会产生没有必要的真实DOM更新==>界面效果没问题,但效率低。
2.如果结构中还包含输入类的DOM:
会产生错误DOM更新==> 界面有问题。
1.最好使用每条数据的唯一标识作 为key,比如id、 手机号、身份证号、学号等唯一值。
2.如果不存在对数据的逆序添加、逆序删除等破坏顺序操作,仅用于渲染列表用于展示,使用index作为key是没有问题的。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
JavaScript如何生成唯一id?有哪些方法?很多刚接触JavaScript的朋友,可能对于生成唯一ID的方式不是很了解,因此,下面小编就给大家分享一些JavaScript生成唯一id方法,需要的朋友可以参考。
JavaScript是一种前端开发语言,与其他高级语言一样,JavaScript也有new操作符。那么在js中new操作符的作用是什么呢?很多刚接触前端朋友对此都不是很了解,本文详细介绍了js中new操作符的作用,感兴趣的朋友继续往下看吧。
调用函数时创建函数作用域,函数执行后销毁函数作用域。每次调用函数都会创建一个新的函数作用域,它们是相互独立的。
这篇文章我们来了解jQuery中slow属性的相关内容,slow属性其实是一个比较实用的属性,对于新手来说,可能还不是很了解它的用法,因此本文就给大家来介绍一下,下文有很详细的介绍,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!
本篇文章给大家带来了关于javascript的相关知识,其中主要整理了编译原理的相关问题,Javascript是一种由Netscape(网景)的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,下面一起来看一下,希望对大家有帮助。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008