按ID排序模型

时间:2015-07-01 13:48:15

标签: ember.js ember-data

我支持给定products的{​​{1}}。问题是它们没有排序。我想按category对它们进行排序,并在id中呈现已排序的products

如何对它们进行排序?

应用/类别/ model.js

select

route.js

import DS from 'ember-data';

export default DS.Model.extend({
  name: DS.attr('string'),
  products: DS.hasMany('product', { async: true })
});

template.hbs

import Ember from 'ember';

export default Ember.Route.extend({
  model: function() {
    return {
      category: this.store.find('category', 1)
    };
  }
});

1 个答案:

答案 0 :(得分:1)

您可以使用计算属性和Ember.SortableMixin对控制器中的产品进行排序:

sortedProducts: Ember.computed('model.category.products', function() {
  return Ember.ArrayProxy.createWithMixins(Ember.SortableMixin, {
    sortProperties: ['id'],
    sortAscending: true,
    content: this.get('model.category.products')
  });
})

然后只需使用sortedProducts代替model.category.products

Source