我具有以下结构:
data: () => ({
loadProgress: [{}]
})
loadProgress
的示例结构
[{
itemId: 1,
details:[{}, {}, {}]
}, {
itemId: 2,
details: [{}, {}, {}, {}]
}]
我该如何this.loadProgress[index].details.push(...)
实现反应性?
我用v-for
渲染它,其中:key
是item.itemId
您可以使用vue $ set方法。默认情况下,vue不会在深层嵌套对象上进行更改,因此您应该像这样使用:
this.loadProgress[index].details.$set(index, val);
or
this.$set(this.loadProgress[index].details, index, val);