1.:key即(v-bind:key)组件绑定的key属性。
不止在vue中react在执行页面渲染的时候也会要求每个列表的组件绑定一个key属性。
key的作用与虚拟dom的diff算法有关。
vue和react都有一套虚拟dom,使我们在不操作DOM元素的情况下,只操作数据便可以重新渲染页面。
而它所依赖的便是Diff算法。
vue和react的虚拟dom的diff算法大致相同,其核心是基于两个简单的假设:
1.两个相同的组件产生类似的dom结构,不同的组件
2.同一层级的一组节点,他们可以通过唯一的id进行区分。
当页面数据发生变化时,diff算法指挥比较同一层级的节点。
**key的作用主要是为了高效的更新虚拟DOM**。另外vue中在使用相同标签名元素的过渡切换时,也会使用到key属性,其目的也是为了让vue可以区分它们