如何根据函数对阵列控制器的内容进行排序

时间:2014-10-03 05:34:56

标签: ember.js

我正在查看文档的this section,似乎我应该能够执行以下操作:

//controllers/some-controller.js
import Ember from 'ember';

export default Ember.ArrayController.extend({
  sortFunction: function(a, b) {
    debugger;
    // some sort code
  }
});

对我的控制器进行排序,但我不能。我错过了什么?

1 个答案:

答案 0 :(得分:0)

我没有意识到sortFunction对传递到sortProperties的参数进行了操作。因此,您必须定义sortProperties数组,然后您可以使用sortFunction作为自定义排序函数:

//controllers/some-controller.js
import Ember from 'ember';

export default Ember.ArrayController.extend({
  sortProperties: ['id'],
  sortFunction: function(a, b) {
    return +a > +b ? 1 : -1;
  }
});

这将使控制器保持排序状态,您只需参考例如some-controller即可。一个{{#each}}循环。您不需要引用arrangedContent