vue中为什么要用到key

Key

  • key在vue中,有跟它意思一样的关键的作用,整个框架对数据的渲染方面,起到了至关重要的作用

  • 当更新数据的过程中,如果没有key的存在,系统会自动默认更新数据之间所要区分的key值为undefined,根据undefined==undefined,所以数据更新时会忽略特殊比对值的情况下自动按照对比为true的情况去更新渲染数据

  • 特别是中途插入删除数据的过程中,会因为中间某条数据的缺少而进行从从数据更新点之后的所有数据的重新更新以及多出数据的重新创建,这跟vue框架的本质原则相违背。

  • 添加key这个唯一标识后,vue中patch算法会按照前后对比的原则,收尾找相同节点,将数据一一比对,相同的节点就会只做循环,不会发生任何更新,减少多余更新渲染,最后只将更改后的数据渲染到框架中。(sameVnode方法来判断节点是否相同)

猜你喜欢

转载自www.cnblogs.com/meoki/p/13170640.html