老师有个小问题
来源:1-2 内容组件--数据获取和显示
CC陈十一
2019-07-01 09:48:28
:key到底有什么用
1回答
你好同学,简单的讲key就是给元素设置一个唯一的标识。给同学举一个小例子,如下:
当选中荔枝的时候,如果没有key值给元素作为唯一的标识,那么添加新元素的时候更新结构后,此时变成了菠萝被选中。
没有添加元素:
添加元素后:
如果加key作为标识之后,效果就正确了:
这个现象是由于vue自身的机制有关,即Diff算法,老师给你简单讲解一下,同学作为课程了解一下就行:
当a,b,c中间想要插入一个z,
diff算法默认会按照如下去更新,即b更新成z ,c更新成b,最后插入一个c .因为没有标识这样很麻烦
所以这个时候key体现了很大的作用,给每一个元素做个标记。这要diff算法可以正确识别每一个元素,从而正常的更新数据。
祝学习愉快,望采纳。
相似问题