0
我有一个数组,使用v-for
呈现为一组Vue组件。我需要使用:key=""
否则Vue抱怨。Vue循环与索引作为关键导致不可预知的行为
我的数组有没有唯一标识符,所以我使用索引作为关键
我的循环
<card v-for="(item, index) in questions" :question="item" :key="index">{{item}}</card>
阵列具有可以具有相同的内容
[{name:"jimmy"}, {name:"billy bob"}, {name:"jimmy"}]
问题对象:只要我操作数组,结果变得非常不可预测。有时组件被正确渲染。有时在v-for
列表中间出现一个新组件,即使它被推入数组中。有时,在转换/弹出后,所有旧组件都会保留,而新推入的组件不会出现。
代码
if(this.questions.length > 4) this.questions.shift()
this.questions.push({name:"willy jim"})
如果我使用item.name
为关键,它只要没有重名的工作完全正常。如果我使用item.name+index
什么太傻了,整个事情去疯狂...
的[为什么不经常使用的指标作为for循环vue.js关键?(可能的复制https://stackoverflow.com/questions/44531510/why-not-always-use-the-index-as-the-key-in-a-vue-js-for-loop) –