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