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插槽详解
232 0
|
JavaScript 内存技术
fnm 安装、卸载与使用(详细步骤)
fnm 安装、卸载与使用(详细步骤)
3285 0
|
7月前
|
网络协议 网络安全 网络虚拟化
路由器详细讲解
路由器是连接不同网络并转发数据包的关键设备,工作在OSI模型第三层(网络层)。它通过路由表选择最佳路径,支持数据转发、NAT转换、防火墙保护等功能。路由器分为家用、商用和工业级,各有针对性的性能与功能。其配置包括硬件连接、登录管理界面及网络、无线、安全等设置,选购时需关注处理能力、无线速率、端口速率和功能需求等关键指标。
1010 22
|
5月前
Godot-游戏显示信息
本教程介绍如何创建一个游戏主界面和玩家信息显示系统。使用Godot引擎,设置开始场景包含游戏名称、难度选择和主菜单功能,并通过代码实现场景切换与难度设置。接着,创建玩家信息场景,利用SubViewport与UI元素显示对战双方信息、倒计时及当前回合。教程包含完整脚本与节点设置,适合初学者学习游戏界面设计与场景管理。
180 0
|
11月前
|
人工智能 自然语言处理 算法
《DevEco CodeGenie——人工智能开发者的得力助手》
华为推出的DevEco CodeGenie为AI开发者提供了全方位的支持,涵盖智能知识问答、代码补全与生成、万能卡片生成等功能。它基于生成式搜索能力,快速解决开发难题,显著提升开发效率,缩短项目周期。尤其对新手友好,降低入门门槛,助力其快速上手鸿蒙原生应用开发。通过解放开发者于繁琐任务中,激发创新思维,专注于业务逻辑实现与技术创新,推动AI技术在鸿蒙生态中的深度融合与发展。
422 21
|
12月前
|
API
鸿蒙开发:自定义一个车牌字母键盘
车牌字母键盘和一般的键盘还有很大区别的,大家可以发现,键盘上是少一个字母的,因为I字母具有混淆性,所以这个字母是不在车牌键盘内的。
185 1
鸿蒙开发:自定义一个车牌字母键盘
vue2 插槽(默认插槽 slot 、具名插槽 v-slot 、作用域插槽 slot-scope -- 插槽传值 )
vue2 插槽(默认插槽 slot 、具名插槽 v-slot 、作用域插槽 slot-scope -- 插槽传值 )
3007 1
|
安全 机器人 Shell
【靶机】Windows渗透初体验-Steel Mountain
本靶机是windows版的mr robot,难度适中,值得一做。
448 0
|
机器学习/深度学习 TensorFlow API
TensorFlow 2.0 快速入门指南:第一部分
TensorFlow 2.0 快速入门指南:第一部分
378 0
基因测序的原理是什么
基因测序的原理是什么