假设被遍历的数据为 List
数据的类型可以是:
(1) List=[1,2,3,4,5]
也可以是:
(2) List=[{id:0,name:小红},{id:1,name:小蓝},{{id:1,name:小花},{{id:1,name:小草}]
首先:List一般就是数组,但是里面的数据不一定都是对象,可以是其他任何数据 !!但是一般都为对象
当我们遍历第 (1) 种数据时,里面的数据是没有id值的,所以我们就选择index 作为key的值
<div v-for="(item, index) in list" :key="index">
<span>
{{item}}
</span>
</div>
当我们遍历第 (2) 种数据时,里面的每一项数据是有id值的,所以我们就选择 id 作为key的值
<div v-for="item in list" :key="item.id">
<span>
{{item.name}} {{item.id}}
</span>
</div>
这里的item 就相当于 单独的一个数据 {id:0,name:小红}
当我渲染数据的时候 分别将这些个数据 按顺序 分别给需要渲染的标签
第一个span 拿到 {id:0,name:小红}
第二个span 拿到 {id:1,name:小蓝}
...依次类推
(3) List=[{name:小红},{name:小蓝},{{name:小花},{{name:小草}]
第三种情况就是数据中没有id值 所以key值就用index来替代
<div v-for="(item, index) in list" :key="index">
<span>
{{item.name}}
</span>
</div>
关于是否用id还是index 主要取决于你的数据内是不是有id这个数据
v-for
最新推荐文章于 2022-11-30 11:31:43 发布