vue中key的重要作用是什么

王林
Freigeben: 2021-05-03 16:55:47
nach vorne
2745 Leute haben es durchsucht

vue中key的重要作用是什么

一、使用key管理可复用的元素

1、相关示例如下所示:

    v-if-key 
  
Nach dem Login kopieren

2、当输入用户名阶段,输入相关的内容后相关结果如下所示:

5f12c08dac51e1b0053d787798adae7.png

3、当点击切换按钮后,其相关的结果为:

99eb8ad7f7acfbb6deb2f7522d36fd2.png

4、由以上的结果可以观察到其在用户名中输入的内容,当进行相关的切换后在邮箱的相关输入框中进行了相关的显示。

5、出现上述情况的原因:

  • 原理:在Vue中为了尽可能高效地渲染元素,通常会复用已有元素,而不是从头开始进行渲染,这样做可以使Vue渲染效率变得更高。

  • 示例分析:在上述示例中都使用了相同的元素,Vue为了提高渲染效率,复用了元素,因此在进行相关的切换中input并未被替换掉,仅仅是替换了它的placeholder属性。

(免费学习视频分享:javascript视频教程

6、解决方式

为input元素添加具有一个唯一值的key属性,来告诉Vue这两个元素是完全独立的,不要复用它们。

修改后其相关的代码为:

    v-if-key 
  
Nach dem Login kopieren

关键代码如下所示:

11003e19acd72ad5944378821f9bead.png

二、重用和重新排序现有元素

1、相关的示例代码如下所示:

    v-for-key 
  

ID: 书名:

ID:{{item.id}}, 书名:{{item.name}}

Nach dem Login kopieren

2、相关的运行结果说明

开始时选中ID为1的序列

7c3bd709e130f1f1cae36b32510c444.png

新增书的相关信息后,所选中的序列变成ID为3的序列

ecaa9af61ef06ae581564bcd19e4929.png

3、产生如上所示的原因

当Vue正在更新使用v-for渲染的元素列表时,它默认使用“就地更新”策略。如果数据项的顺序被改变,Vue将不会移动DOM元素来匹配数据项的顺序,而是就地更新每个元素,并且确保它们在每个索引位置正确渲染。

4、解决办法

为列表的每一项提供一个唯一的key属性。

849c22254b9931bc0a2b2d809eb9c04.png

最后正确的运行结果如下所示:

59d5c36ffb12a993c5bace6b3780c9b.png

原理:为列表中的每一项提供一个唯一的key属性,可以给Vue一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素。

注意:key属性的类型只能是string或者number类型。

相关推荐:js教程

Das obige ist der detaillierte Inhalt vonvue中key的重要作用是什么. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn