【问题标题】:Emberjs sort hasMany association as a computed propertyEmberjs 排序 hasMany 关联作为计算属性
【发布时间】:2015-08-21 21:11:01
【问题描述】:

我有两个模型,文件夹和文件。一个文件夹有很多文件。如果我说folder.get('files'),我会得到与该文件夹关联的所有文件,这些文件按 id 排序。我希望文件数组按 id 以外的东西排序;让我们说创建日期。如果可能,我不想创建一个名称与 files 不同的计算属性。

任何帮助将不胜感激?

【问题讨论】:

  • 你为什么不将 files 定义为依赖于某些过滤器值的计算属性,并且当没有设置过滤器值时,它默认按 id 排序。
  • 因为我不知道该怎么做。 :-)
  • 这将有助于展示您到目前为止所尝试的内容,并可能发布相关代码。

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


【解决方案1】:

正如我在评论中提到的,您需要在控制器中创建一个计算属性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

【讨论】:

    猜你喜欢
    • 2015-09-04
    • 2017-02-13
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 2017-01-15
    • 1970-01-01
    相关资源
    最近更新 更多