【发布时间】:2018-01-14 07:31:02
【问题描述】:
我有一个对象,结构看起来像这样
obj: {
1: {
'a': [ [] ],
'b': [ [] ]
}
}
现在,在观察者中,我正在尝试将'c' => [ [] ] 附加到该对象。
我尝试使用
this.obj[1]['c'] = [ [] ],但是当我这样做时,它不会观察道具(子组件上)的变化。我几乎可以肯定我需要使用$setthis.$set(this.obj, 1, { ['c']: [ [] ] })- 使用它实际上会监视它,但是它会完全删除 'a' 和 'b' 属性。使用
this.$set(this.obj[1], ['c'], [ [] ]);- 似乎改变了对象,但是道具也不会看到这个
$set的正确使用方法是什么
【问题讨论】:
-
不就是
this.$set(this.obj['1'], 'c', [[]])吗?不知道为什么要尝试使用数组(即['c'])作为对象键 -
使用它,它会正确更新道具上的对象,但是 DOM 没有得到更新:/ 如果我在运行 for 循环之前使用
{{ obj }},它仍然没有 -
请举例说明
标签: javascript arrays object vue.js vuejs2