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 值

相关文章
|
JavaScript 前端开发 开发者
vue的slot插槽详解
vue的slot插槽详解
175 0
|
前端开发 JavaScript Java
计算机Java项目|基于web的铁路订票管理系统
计算机Java项目|基于web的铁路订票管理系统
200 1
|
JSON 前端开发 数据格式
@RequestBody、@RequestParm、@PathVariable三个注解的区别
@RequestBody、@RequestParm、@PathVariable三个注解的区别
777 2
vue2 插槽(默认插槽 slot 、具名插槽 v-slot 、作用域插槽 slot-scope -- 插槽传值 )
vue2 插槽(默认插槽 slot 、具名插槽 v-slot 、作用域插槽 slot-scope -- 插槽传值 )
2432 1
|
easyexcel Java API
Apache POI、EasyPoi、EasyExcel 三种区别,如何选择
Apache POI、EasyPoi、EasyExcel 三种区别,如何选择
1874 0
|
消息中间件 存储 NoSQL
Redis 从入门到精通之Redis 订阅与发布
Redis 是一个支持发布/订阅模式的高性能内存数据库,支持订阅频道和模式。在 Redis 中,客户端可以订阅一个或多个频道或模式,然后接收发布到这些频道或模式的消息。下面将介绍 Redis 中订阅与发布相关的命令和操作
623 60
Redis 从入门到精通之Redis 订阅与发布
|
存储 算法 数据可视化
【贪心算法经典应用】活动选择详解 python
【贪心算法经典应用】活动选择详解 python
|
关系型数据库 MySQL
【面试题精讲】MySQL-wait_timeout参数
【面试题精讲】MySQL-wait_timeout参数
|
JSON API 定位技术
C语言调用高德地图API
C语言调用高德地图API
408 0
|
存储 网络协议 程序员
【TCP 协议】报文格式,数据可靠传输的机制(一)
【TCP 协议】报文格式,数据可靠传输的机制(一)
522 0

热门文章

最新文章