我试图在一个对象上设置一个属性,就像这样。
假设我拥有名为cities的属性,并且我想拥有一个普通对象的人口值
cities: {
'city1': 100,
'city2': 200
}
现在,如果我想添加city3,我可以做
this.get('cities')['city3'] = 300
虽然这会更新它不会传播绑定的对象,但我可以使它成为一个数组并只使用pushObject
,但我宁愿拥有它,以便在输入有关特定城市的信息时,如果它已经存在,它只是更新旧数据。
那么有没有办法让它和可观察到的?
由于
甚至使用
进行编辑this.set(' cities.city1' 100)
因为我可以观察@each而没有通知变更,我使用了这个答案的技巧让它发挥作用。
答案 0 :(得分:2)
您应该使用set
代替=
。
this.set('cities.city3', 300);
答案 1 :(得分:2)
使用=
不会触发任何观察者和绑定,您需要使用set
示例:
this.set('cities.city3', 300);