vue语法v-for问题

vue语法v-for问题

  • 如下代码,u是数组users中的元素,
    方法一是按照官方文档的写法没有疑问
    方法二是简写,但是却能实现相同功能,但是方法二的key很奇快,不应该是u的索引吗,怎么成了u了?
    是不是这样写的意思是 user:[ 0:item1, 1:item2, 2:item3 , ....... u:u ] u的值是u的索引?
<template>
  <div >
  <ul>
   方法一:<li v-for=(u,index) in users" :key="index" > {{u}}</li> 
   方法二:   <li v-for="u in users" :key="u" > {{u}}</li>    
    </ul>

  </div>

</template>


v-for设置key的原因是帮助diff算法哪些需要渲染,只要key是唯一值就行,不用非得是索引,就算是对象都行.而且一般也不建议用数组的索引,因为数组索引是会发生改变的.通常是后端传来的数据中的id作为key

不是,方法一多了一个索引值,方法二并没有定义索引,两个的u都是对象