尝试在我的组件模板中使用 <animation-group>
,但出现错误:
[Vue warn]: <transition-group> children must be keyed: <div>
但我很确定它们是锁定的。
//js
Vue.component('instruments', {
template: `
<transition-group name="fade">
<div class="instruments">
<div class="instrument" v-for="(instrument, index) in filteredInstruments" v-bind:key="index">
<img v-bind:src="instrument.photo">
<span class="name">{{ instrument.name }}</span>
<span class="construction">{{ instrument.top }} / {{ instrument.backAndSides }}</span>
<span class="price">$ {{ instrument.price }}</span>
</div>
</div>
</transition-group>
`
}
我认为设置 v-bind:key="index"
会满足这一点,但我得到上面粘贴的错误。
原文由 Justin D 发布,翻译遵循 CC BY-SA 4.0 许可协议
If you don’t want to give a key to
.instruments
, you can remove that element and assign atag
andclass
attributes to<transition-group>
相反,因为它呈现一个实际元素,默认情况下是<span>
。这样,警告将不再出现,因为直接子级 (
.instrument
) 已分配给他们唯一的密钥。