一,key值得作用
:key=""是给dom对象添加唯一标识,是用于底层diff算法复用旧虚拟dom时的一个重要的判断条件,间接提高页面的渲染效率。底层diff算法会对比新旧虚拟dom,进行复用。前提条件是key值相同且新旧dom内的html标签一致。复用虚拟dom,可提高渲染效率。
二,为什么key值一般设置为id,而不是数组的下标
原因是,若用数组的索引(下标)为key值,当data中的数组发生改变时(例如,数组的增删操作),改变的不仅仅是对应数据的索引,其他索引也会受影响而改变,缩小了复用的范围。但设置id可以最大限度的进行复用,提高渲染效率