vue中的key有啥作用

author author     2023-05-10     310

关键词:

参考技术A Key是虚拟DOM对象的标识,当数据发生变化时,Vue会根据新数据生成新的虚拟DOM,随后VUe进行新虚拟DOM 与 旧虚拟DOM的差异对比,比较规则如下:

(1)、旧虚拟Dom中找到了与新虚拟DOM相同的key:

              ①若虚拟DOM中内容没变,直接使用之前的真实DOM

               ②若虚拟DOM中内容变了,则生成新的真实DOM,随后替换掉页面中之前的真实DOM。

⑵、旧虚拟DOM中未找到与新虚拟DOM相同的key, 创建新的真实DOM,随后渲染到页面

1、 若对数据进行:逆序添加、逆序删除等破坏顺序操作;

会产生没必要的真实DOM更新è页面效果没问题,但效率低

2、 如果结构中还包含输入类的DOM:

会产生错误DOM更新è页面有问题

最好使用每条数据的唯一标识作为key,比如id,手机号,身份证号,学号等唯一值。

如果不存在对数据的逆序添加,逆序删除等破坏顺序操作,仅用于渲染列表用于展示,使用index作为key是没问题的。

vue2.0—vue中的key有什么作用?(代码片段)

【Vue2.0】—Vue中的key有什么作用?(四)<divid="root"><!--遍历数组--><ul><button@click.once="add">添加一个老刘</button><liv-for="(p,in 查看详情

vue中的v-for中的key值的作用(代码片段)

回答一:key的特殊attribute主要用在Vue的虚拟DOM算法,在新旧nodes对比时辨识VNodes。如果不使用key,Vue会使用一种最大限度减少动态元素并且尽可能的尝试就地修改/复用相同类型元素的算法,也就是所谓的就地复用... 查看详情

vue中的key

参考技术A官方API知识点在Vue.js中,key是6个特殊属性key,ref,is,slot,slot-scope,scope其中之一。key的值可以是number,也可以是string。key主要作用于Vue的virtualDOM算法,在diffnewnodeslist和oldnodeslist时,作为识别VNode的一个线索。如果不用key,V... 查看详情

我的 vue.config 文件中的代理有啥意义?

】我的vue.config文件中的代理有啥意义?【英文标题】:Whatisthepointofproxyinmyvue.configfile?我的vue.config文件中的代理有什么意义?【发布时间】:2020-07-0817:29:37【问题描述】:我对@9​​87654322@中的proxy\'^/api\'的作用感到有些困惑。... 查看详情

vue和react项目中key的作用

...叉对比没有结果时,会根据新节点的key去对比旧节点数组中的key,从而找到相应的旧节点(这里对应的是一个key=>index的map映射)。如果没有找到就认为是一个新增节点。而如果没有key,那么就会采用遍历查找的方式去找到对... 查看详情

Android 中的 LayoutInflater 有啥作用?

】Android中的LayoutInflater有啥作用?【英文标题】:WhatdoesLayoutInflaterinAndroiddo?Android中的LayoutInflater有什么作用?【发布时间】:2011-03-2911:47:40【问题描述】:LayoutInflater在Android中有什么用?【问题讨论】:检查this是否有帮助。【... 查看详情

vue条件渲染,列表渲染,key的作用和原理,列表过滤,列表排序,vue监测数据原理和注意事项(代码片段)

...r和indexOf()来实现5.列表排序6.深度了解Vue如何监测data对象中的数据改变7.Vue中set方法使用的 查看详情

tkinter 中的“重量”有啥作用?

】tkinter中的“重量”有啥作用?【英文标题】:Whatdoes\'weight\'dointkinter?tkinter中的“重量”有什么作用?【发布时间】:2018-02-0111:48:24【问题描述】:我一直在搜索不同的网站,试图找出重量在tkinter中的作用。我从TkDocs得到这个... 查看详情

Proguard 中的 --keepattributes SourceFile 有啥作用?

】Proguard中的--keepattributesSourceFile有啥作用?【英文标题】:Whatdoes--keepattributesSourceFileinProguarddo?Proguard中的--keepattributesSourceFile有什么作用?【发布时间】:2022-01-1607:45:54【问题描述】:我正在尝试弄清楚Firebase将如何进行从混淆... 查看详情

C 中的“CALLBACK”声明有啥作用?

】C中的“CALLBACK”声明有啥作用?【英文标题】:Whatdoesa"CALLBACK"declarationinCdo?C中的“CALLBACK”声明有什么作用?【发布时间】:2009-02-0923:17:30【问题描述】:我正在查看SDL库中的一些代码,发现一个函数声明如下:LRESULTC... 查看详情

JSX 中的“导出默认值”有啥作用?

】JSX中的“导出默认值”有啥作用?【英文标题】:Whatdoes"exportdefault"doinJSX?JSX中的“导出默认值”有什么作用?【发布时间】:2016-07-2509:41:05【问题描述】:我想问最后一句是什么意思和作用(导出默认的HelloWorld;)但... 查看详情

PHP (5.3+) 中的 \(反斜杠)有啥作用?

】PHP(5.3+)中的\\\\(反斜杠)有啥作用?【英文标题】:Whatdoesa\\(backslash)doinPHP(5.3+)?PHP(5.3+)中的\\(反斜杠)有什么作用?【发布时间】:2011-06-1423:18:30【问题描述】:\\在PHP中的作用是什么?例如,CSRF4PHP有\\FALSE、\\session_id和\\Ex... 查看详情

JavaScript 中的 ^(插入符号)符号有啥作用?

】JavaScript中的^(插入符号)符号有啥作用?【英文标题】:Whatdoesthe^(caret)symboldoinJavaScript?JavaScript中的^(插入符号)符号有什么作用?【发布时间】:2011-04-0619:25:42【问题描述】:我有一些JavaScript代码:<scripttype="text/javascrip... 查看详情

PHP 中的@ 字符有啥作用? [复制]

】PHP中的@字符有啥作用?[复制]【英文标题】:Whatdoesthe@characterdoinPHP?[duplicate]PHP中的@字符有什么作用?[复制]【发布时间】:2011-05-2611:58:37【问题描述】:可能的重复:Reference-WhatdoesthissymbolmeaninPHP?Whatdoes@meaninPHP?我的代码中有... 查看详情

SQL*Plus 中的“@”有啥作用

】SQL*Plus中的“@”有啥作用【英文标题】:Whatdoesthe"@"doinSQL*PlusSQL*Plus中的“@”有什么作用【发布时间】:2013-07-2207:55:36【问题描述】:我在一段sql代码中找到了这一行:@../../sql_scripts/create_tables.sql它有什么作用?我知道... 查看详情

C#中的双问号有啥作用? [复制]

】C#中的双问号有啥作用?[复制]【英文标题】:WhatdoesadoublequestionmarkdoinC#?[duplicate]C#中的双问号有什么作用?[复制]【发布时间】:2010-12-0903:41:35【问题描述】:可能的重复:??NullCoalescingOperator-->Whatdoescoalescingmean?Whatdotwoquestion... 查看详情

Flutter 中的 shrinkWrap 属性有啥作用?

】Flutter中的shrinkWrap属性有啥作用?【英文标题】:WhatdoestheshrinkWrappropertydoinFlutter?Flutter中的shrinkWrap属性有什么作用?【发布时间】:2019-05-2903:28:00【问题描述】:我是Flutter的新手,非常渴望学习这项技术。我无法理解ListView中... 查看详情

Visual Studio 中的 TestContext - 它有啥作用?

】VisualStudio中的TestContext-它有啥作用?【英文标题】:TestContextinVisualStudio-Whatdoesitdo?VisualStudio中的TestContext-它有什么作用?【发布时间】:2011-05-1417:46:11【问题描述】:VisualStudio生成的测试类通常有一个TestContext属性,如下:私... 查看详情