在我的ember应用程序中,我有一个对象数组。我需要操纵数组中的一些对象。
例如:数组:[{a:1}]
然后我需要将a更改为2。
someArray: [{a: 1}],
didInsertElement() {
var self = this;
this.$('.some-element').on('scroll',function() {
self.get('someArray')[0]['a'] = 2; // HOW TO DO THIS ?
});
}
此外,我还需要将更改反映在视图中。
注意:Ember版本1.13
答案 0 :(得分:15)
var temp = self.get('someArray').objectAt(0);
Ember.set(temp, "a", 2);
这应该有效
答案 1 :(得分:0)
您可以根据索引或每个对象设置每个Object属性,方法是使用forEach迭代。
someArray: [],
didInsertElement() {
var self = this;
this.$('.some-element').on('scroll',function() {
//You can add new properties and set properties as follows by iteration
self.get('someArray').forEach(function(item/*, index*/) {
var emberObject = Ember.Object.create(item);
//based on index also you can do
//if (index === 0) { emberObject.set('newProperty', 'newValue'); }
emberObject.set('newProperty', 'newValue');
});
});
}
答案 2 :(得分:0)
# 'DEFAULT_PERMISSION_CLASSES': (
# 'rest_framework.permissions.IsAuthenticated',
# ),
答案 3 :(得分:-2)
someArray: [],
didInsertElement() {
this.$('.some-element').on('scroll',function() {
this.get('someArray').objectAt(i).set('item', items[index]);
});
}
希望这有帮助!