【问题标题】:sortBy descending in Ember property在 Ember 属性中降序排序
【发布时间】:2015-12-17 11:50:53
【问题描述】:

我正在对我的模型中作为计算属性的集合进行排序:

collection: function() {
  var entries = this.get('entries');
  return entries.sortBy('prop1', 'prop2');
}.property('entries.@each.prop1', 'entries.@each.prop2')

但我不知道如何让它降序排序。这应该很容易吧?

灰烬 1.13

【问题讨论】:

  • 对结果进行反向调用。 entry.sortBy('prop1', 'prop2').reverse();通过查看代码,我认为这就是你所能做的。 github.com/emberjs/ember.js/blob/v2.2.0/packages/ember-runtime/…
  • @blessenm 这对我有用,但似乎有限。例如,也许我想要一个升序和一个降序。
  • 是的,它只是一个快速修复。米格尔的方法是要走的路。
  • @blessenm 如果我能让它工作,我肯定会这样做。当我尝试 Miguel 的方法时,没有发生过滤。
  • 你能在 emberjs.jsbin.com 中重现你的错误吗?这是一个工作示例emberjs.jsbin.com/mucube/edit?html,js,output

标签: ember.js


【解决方案1】:

您可以使用Ember.computed.sort 宏:http://emberjs.com/api/classes/Ember.computed.html#method_sort

例子:

entriesSorting: ['prop1:desc', 'prop2:desc'],
collection: Ember.computed.sort('entries', 'entriesSorting')

不相关但相关:建议在 .property 原型扩展上使用 Ember.computed

更新: 这是这个工作的一个转折点:https://ember-twiddle.com/19ff8c56f1c13512bdc8

【讨论】:

  • 奇怪,我无法让它为我工作。不过看起来更好看
  • @EricWilson 我添加了一个 ember twiddle 来演示这个工作
  • 也许问题是我在模型中执行此操作,而不是控制器?我会看看我能不能做一个 ember-twiddle,从来没有做过。
  • 也许您的问题与 hasMany 关系有关。余烬旋转证明它有效。如果您提供更多背景信息,我很乐意为您提供帮助。理想情况下是一个非工作的玩弄。
  • @EricWilson 这对您有帮助吗?可以接受吗?
猜你喜欢
  • 1970-01-01
  • 2018-10-27
  • 2019-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-10
  • 2015-08-18
  • 2016-04-13
相关资源
最近更新 更多