v-for的使用

395 阅读1分钟

v-for遍历形式有三种

1、遍历数组

这种最常见上代码,记得不要用index作为key,后面会说原因

1639923712(1).png

2、遍历对象

1639923870(1).png

3、遍历数字

1639923991(1).png 遍历出来的结果形式是

1639924051(1).png

4、v-for循环为什么要用key

先说结论:为了提高dom渲染速度,减少不必要的渲染。key作用的地方是新旧虚拟节点进行比较时会用到 如果没有key,新旧节点进行比较的时候,不能很好的重用旧的节点,会造成很多不比较的几点渲染。如一个数组A中的元素时[a,b,c,d].另外一个数组B的元素时[a,b,e,c,d];如果没有key,在进行新旧节点比较时,比较到底三个元素时,A数组中的c和B数组中的e不一样,这样在更新B的节点树时,会把B中从e开始之后的所有元素都更新一遍。但是其实并没有必要更新c和d元素,因为可以复用A中的c和d. 如果给每一个元素都加上唯一的key后,在节点进行比较的时候,回用到这个key去比较旧节点中是否有可以复用的节点元素,如果有就不进行重新生成了。没有时,才进行重新生成,这样可以减少最少的更新元素。这样也是为什么key要唯一的原因。key如果用数组中的index时,当数组中插入一个元素时,这时会出现key相同的元素,但其元素并不一样。会导致在某些情况下回出现渲染错误的情况。