我在Ember中有一个模型,它生成了一个包含三个对象的哈希表。其中一个对象是一个包含另一个数组的对象数组。我需要对这个最内层的数组进行排序,但我做不好。
以下是我的模型。
App.Person = DS.Model.extend ({
first_name: DS.attr('string'),
last_name: DS.attr('string'),
age: DS.attr('string'),
gender: DS.attr('string'),
innerMostArray: DS.hasMany('innerMostObject')
});
App.innerMostObject = DS.Model.extend ({
person_id: DS.belongsTo('person'),
attr1: DS.attr('string'),
attr2: DS.attr('string')
});
这是我的路径
App.NestedArrayRoute = Ember.Route.extend({
model: function(params) {
return Ember.RSVP.hash({
object1: this.store.find('object1', params.object1_id),
people: this.store.all('person'),
object3: this.store.all('object3')
});
},
afterModel: function(model, transition) {
model.people.forEach(function(item, index, enumerable){
var innerMostArray = item.get('innerMostArray');
var sortedArray = innerMostArray.sortBy('attr1', 'attr2');
});
model.people.update();
}
});
我知道我还远没有做对这个问题,但我不知道如何对这个嵌套数组进行排序。我看过数组控制器的例子,但我不知道如何使用它来对这个嵌套数组进行排序。如果有人能给出一个示例,那将非常有帮助。谢谢。
Ember.computed.
开头的函数:http://emberjs.com/api/classes/Ember.html - thriqon