我想使用 v-for 循环生成 Vue 组件的动态列表。在那个循环中,我传递了组件使用的数据,还有其中的一些子组件。
列表中的项目可以单独删除。因此,为了避免“就地补丁”(https://vuejs.org/v2/guide/list.html)会弄乱子组件,我将键绑定到 for 循环。但它不起作用。
<div v-for="(shift, index) in shifts" v-bind:key="index">
<hr>
<Shift v-bind:shiftdata="shifts[index]" v-on:DeleteShift="DeleteShift" />
<hr>
</div>
Run Code Online (Sandbox Code Playgroud)
如果我现在删除一个位于中间的组件,它的子组件将被渲染到另一个组件中。
另一件让我感到困惑的事情是,如果我将“shift”而不是“index”作为键,它就可以正常工作。但是我收到警告,因为“键是非原始值”和“检测到重复键”。