Vue.js VueJS转换组(取决于密钥)

Vue.js VueJS转换组(取决于密钥),vue.js,Vue.js,所以我把数字加到一个数组中 在某个超时之后,数组中的第一个项被拼接,并应用离开转换。但是,转换将应用于数组中的最后一项 我通过简单地将密钥更改为其他密钥来解决此问题: :key=“item”。通过此更改,左过渡现在正确应用于已拼接的图元,即第一个图元 以下是JSFIDLE,您可以对其进行测试: 我想知道的是,为什么?这两者的区别是什么 当Vue更新使用v-for渲染的元素列表时,通过 默认情况下,它使用“就地补丁”策略。如果数据的顺序 项已更改,而不是移动DOM元素以匹配 项目顺序,Vue将修补

所以我把数字加到一个数组中

在某个超时之后,数组中的第一个项被拼接,并应用离开转换。但是,转换将应用于数组中的最后一项

我通过简单地将密钥更改为其他密钥来解决此问题:
:key=“item”
。通过此更改,左过渡现在正确应用于已拼接的图元,即第一个图元

以下是JSFIDLE,您可以对其进行测试:

我想知道的是,为什么?这两者的区别是什么

当Vue更新使用v-for渲染的元素列表时,通过 默认情况下,它使用“就地补丁”策略。如果数据的顺序 项已更改,而不是移动DOM元素以匹配 项目顺序,Vue将修补每个元素并确保 它反映了在该特定索引处应该呈现的内容。这是 类似于Vue 1.x中track by=“$index”的行为

这就是为什么您应该使用
:key=“item”