开发者学堂课程【Vue.js 入门与实战:v-for 中 key 的使用注意事项】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/586/detail/8140
v-for 中key 的使用注意事项
目录:
一、key 的特性
二、v-for 中 key 的使用注意事项
一、key 的特性
2.2.0+的版本里,当在组件中使用 v-for 时, key 现在是必须的。
1.案例
v-for循环对象数组.html
<head>
<meta charset="UTF一8">
<meta name="viewport" content="width=device-width,initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="./lib/vue-2.4.0.js"></script></ head>
body>
<div id "app">
//循环遍历对象
v-for="(user,i) in list">Id : { { userzid }} ---字:{{ user.name )}---索引:{{i))</P>
</div>
<script>
//创建 vue 实例,得到 ViewMode1
var vm = new vue ( f
el: '#app' ,
data: {
list: [
{id: 1, name: '李斯' },
{ id: 2, name : '嬴政' },
{ id: 3,name: '赵高'},
{ id: 3,name: '韩非'}
]
2.key 的作用
当 Vue.js 用 v-for 正在更新已渲染过的元素列表时。它默认用“就地复用” 策略。如果数据项的顺序被改变,Vue 将不是移动 DOM 元素来匹配数据项的顺序。而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素。.为了给 Vue 一个提示,以便它能跟踪每个节点的身份.从而重用和重新排序现有元素,需要为每项提供一个唯一 key 属性。
key 是为了给Vue一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,需要为每项提供一个唯一的 key 属性。
使用 v-for 更新已渲染的元素列表时,默认用就地复用策略;列表数据修改的时候,他会根据 key 值去判断某个值是否修改,如果修改,则重新渲染这一项,否则复用之前的元素;
我们在使用的使用经常会使用 index(即数组的下标)来作为 key,但其实这是不推荐的一种使用方法。
二、v-for 中 key 的使用注意事项
1. 22.0+ 的版本里,当在组件中使用 v-for 时, key 现在是必须的。
2. v-for 循环的时候, key 属性只能使用 number 获取 string 。
3. key 在使用的时候,必须使用 v-bind 属性绑定的形式,指定 key 的值。
4. 在组件中,使用 v- for 循环的时候,或者在一些特殊情况中,如果 v-for 有问题,必须在使用 v-for 的同时,指定唯一的字符串/数字类型: key 值。
5. v-for 循环普通数组、对象数组、对象、迭代数字、key 的使用和注意事项
6. in 后面我们放过 普通数组,对象数组,对象,还可以放数字
7. 注意:如果使用 v-for 迭代数字的话,前面的 count 值从 1 开始
8. 注意:v-for 循环的时候,key 属性只能使用 number 获取 string
9. 注意:key 在使用的时候,必须使用 v-bind 属性绑定的形式,指定 key 的值
10. 在组件中,使用v-for循环的时候,或者在一些特殊情况中,如果 v-for 有问题,必须 在使用v-for 的同时,指定 唯一的 字符串/数字 类型 :key 值