如何在Ember中为特定数组键设置值?
我试过......
var feed = this.get('controller.feed');
feed[i]['loadingFeedImage'] = false;
this.set('controller.feed', feed);
...但模板无法识别更改的值。
我也试过这个,但它不起作用:
this.get('controller.feed['+ i +'].loadingFeedImage', false);
答案 0 :(得分:0)
我明白了:
更改值如下:this.set('controller.feed.data.' + i +'.loadingFeedImage', false);
(不要使用方括号)。
答案 1 :(得分:0)
JavaScript对象是基于引用的。因此,使用它的参考更新来编辑数组中的某些内容会触发观察者更新。
您的第一个解决方案不起作用的原因是您不在第二行使用set
。
使用ember数组方法:
// assuming the array is an Ember.Array
this.get('controller.feed').objectAt(i).set('loadingFeedImage', false)
确保您的数组是Ember.Array
您提供的解决方案使用私有API。我建议你不要使用它。