正常我们在渲染页面的时候,要通过DOM操作来循环渲染,但是如果发生了变动,我们是通过什么方式来改变因为数据的改变而发生的改变呢
拿一个数组来说,['aaa','bbb','ccc']如果变成了['aaa','bbb','ccc','ddd']
DOM操作就需要根据新数组重新渲染页面,而vue又是通过什么来解决这个问题的呢
vue通过创建虚拟DOM将每一个元素记录下来,并在改变后创建一个新的虚拟DOM,通过对比新旧虚拟DOM来判断哪些内容发生改变,但如果改变的元素不是在原来的基础上顺序增加而是插入到其中,就会产生性能问题,这时候引入一个关键字key来解决这个问题。
key通过将每一个元素标记成一个唯一的标识,从而使得新旧DOM通过唯一标识来对比改变前后的元素,这样会快很多
如果这段不会进行增删改查那么key不设置也行