Emberjs将hasMany关联排序为计算属性

时间:2015-06-07 08:34:53

标签: ember.js associations has-many computed-properties

我有两个模型,文件夹和文件。一个文件夹有很多文件。如果我说folder.get('files')我得到与id按顺序排列的文件夹相关的所有文件。我希望文件数组按照id之外的顺序排序;让我们说createDate。如果可能,我不想创建一个名称与files不同的计算属性。

非常感谢任何帮助?

1 个答案:

答案 0 :(得分:0)

如我的评论所述,您需要在控制器中创建一个计算属性files,其中包含您的排序逻辑。

files: function() {
  var filter = this.get('filter');
  return this.get('model').sortBy(filter);
}.property('filter')

这是一个JSBin:http://emberjs.jsbin.com/pojaxikayu/3/edit,演示它是如何工作的。该示例非常基础,应根据您的具体需求进行扩展。

您也可以在控制器中使用Ember.SortableMixin。以下是使用mixin的上述示例:http://emberjs.jsbin.com/hebisorexo/2/edit