Ember:设置特定键的数组值

时间:2014-07-23 08:47:45

标签: ember.js

如何在Ember中为特定数组键设置值?

我试过......

var feed = this.get('controller.feed');
feed[i]['loadingFeedImage'] = false;
this.set('controller.feed', feed);

...但模板无法识别更改的值。

我也试过这个,但它不起作用:

this.get('controller.feed['+ i +'].loadingFeedImage', false);

2 个答案:

答案 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。我建议你不要使用它。