Vue框架学习笔记——列表渲染:v-for

文章目录


前文提要

本人仅做个人学习记录,如有错误,请多包涵

主要学习链接:尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通


代码正文

html 复制代码
<body>
  <div id="box">
    <ul>
      <li v-for="(p,index) in persons" :key="index">
        {{p.name}}-{{p.age}}
      </li>
    </ul>
  </div>
  </div>
  <script type="text/javascript">
    Vue.config.productionTip = false
    const vm = new Vue({
      el: '#box',
      data: {
        persons:[
          {id:1,name:'张',age:18},
          {id:2,name:'李',age:14},
          {id:3,name:'赵',age:19},
        ]
      }
    })
  </script>
</body>

效果展示:

上文代码其中的

html 复制代码
<li v-for="(p,index) in persons" :key="index">
        {{p.name}}-{{p.age}}
</li>

就是v-for的使用方式,将能够遍历对象、数组、字符串,无论是data中的属性、计算属性都可以。

如果key不写,也就是写成这样

html 复制代码
<li v-for="(p,index) in persons">
        {{p.name}}-{{p.age}}
</li>

就是默认使用index做遍历时的标记,但是不建议使用index做遍历的下标,遍历带有输入的标签的时候容易出错。(和Vue中的虚拟DOM、真实DOM的机制有关系:虚拟DOM对比算法

用户能操作的是界面,这个是真实DOM

key是Vue内部使用的,只会在虚拟DOM中出现,真实DOM中没有。

可以通过这个链接了解:key的作用和原理(尚硅谷)

建议使用id做遍历时候的下标,具有唯一标识性,index只是暂时属于某个属性,不是一直属于某个属性,当往最前方插入的时候,后续的下标都会变化,并不会一直属于这个属性。

所以推荐使用id做遍历时的标识

html 复制代码
<li v-for="(p,id) in persons" :key="p.id">
        {{p.name}}-{{p.age}}
      </li>

也就是写成这样


至此,结束。

如果你觉得这篇文章写的不错,多多点赞~收藏吧!

相关推荐
sensen_kiss6 分钟前
INT303 Coursework1 爬取影视网站数据(如何爬虫网站数据)
爬虫·python·学习
TT哇36 分钟前
【实习 】银行经理端两个核心功能的开发与修复(银行经理绑定逻辑修复和线下领取扫码功能开发)
java·vue.js
red_redemption1 小时前
自由学习记录(116)
学习
星光不问赶路人2 小时前
vue3使用jsx语法详解
前端·vue.js
r i c k2 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦2 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
weixin79893765432...3 小时前
Vue 组件的更新过程(编译系统 + 响应式系统 + 虚拟 DOM & Diff)
vue.js
shandianchengzi3 小时前
【小白向】错位排列|图文解释公考常见题目错位排列的递推式Dn=(n-1)(Dn-2+Dn-1)推导方式
笔记·算法·公考·递推·排列·考公
浅念-3 小时前
C语言编译与链接全流程:从源码到可执行程序的幕后之旅
c语言·开发语言·数据结构·经验分享·笔记·学习·算法
ZH15455891313 小时前
Flutter for OpenHarmony Python学习助手实战:API接口开发的实现
python·学习·flutter