v-for 中 key 的使用注意事项 | 学习笔记

简介: 快速学习 v-for 中 key 的使用注意事项

开发者学堂课程【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: '韩非'}

]

1666937641530.jpg

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 值

相关文章
|
5月前
|
JSON 分布式计算 大数据
MaxCompute操作报错合集之连接环境时,出现报错:TypeError: access_id and secret_access_key,该怎么解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
6月前
|
JavaScript
.V-for中 key 值的作用,如何选择key
.V-for中 key 值的作用,如何选择key
142 4
|
6月前
|
缓存 NoSQL 关系型数据库
Redis第二课,1.set key value(设置对应的key和value)2.get key(得到value值)Redis全局命令(支持很多的数据结构)3.keys(用来查询当前
Redis第二课,1.set key value(设置对应的key和value)2.get key(得到value值)Redis全局命令(支持很多的数据结构)3.keys(用来查询当前
|
6月前
|
存储 NoSQL Redis
Redis第七弹-Set与ZSET基本操作,Set(集合特点)SADD key member(注意这个key,必须是你自定义名字,不能用key)​编辑SMEMBERS key-查询所有的key
Redis第七弹-Set与ZSET基本操作,Set(集合特点)SADD key member(注意这个key,必须是你自定义名字,不能用key)​编辑SMEMBERS key-查询所有的key
|
6月前
|
JavaScript
V-for中 key 值的作用,如何选择key
V-for中 key 值的作用,如何选择key
26 0
|
6月前
|
消息中间件 NoSQL Redis
Redis第三弹,定时删除1.优先级队列(堆)2.基于时间轮实现的定时器​编辑Type指令(返回key对应的数据类型)redis的数据类型hset key field value
Redis第三弹,定时删除1.优先级队列(堆)2.基于时间轮实现的定时器​编辑Type指令(返回key对应的数据类型)redis的数据类型hset key field value
|
7月前
|
JavaScript 索引
V-for中key值的作用,如何选择key
V-for中key值的作用,如何选择key
45 0
|
存储 NoSQL 算法
Redis进阶-如何从海量的 key 中找出特定的key列表 & Scan详解
Redis进阶-如何从海量的 key 中找出特定的key列表 & Scan详解
669 0
|
存储 缓存 监控
Redis学习2:课程安排、数据类型String操作及拓展操作和Key的设置约定
本系列文章是根据黑马程序员视频的学习笔记进行学习
Redis学习2:课程安排、数据类型String操作及拓展操作和Key的设置约定
|
存储 NoSQL Redis
Redis 中的hash一共有几个参数和属性?分别如何使用?
Redis 中的hash一共有几个参数和属性?分别如何使用?
222 0