我在Ember中排序有问题。
我使用moment.js
来处理ember中的所有时间,我从不使用普通的javascript日期对象,因为我需要始终了解用户设置的时区。当我执行array.sortBy('datetime')
并且排序属性是moment.js对象时,排序不起作用,因为ember威胁时刻js使用的比较方法作为对象,因此返回0.有没有办法覆盖默认比较方法为这里定义 - https://github.com/emberjs/ember.js/blob/v1.13.0/packages/ember-runtime/lib/compare.js#L26。
由于该方法作为Enumerable
包含在mixins中,而其他方法作为闭包,之后无法覆盖。
注意:我不想使用像array.sort(function(a, b) ...
这样的自定义排序,我想使用sortBy
并让比较函数处理幕后的逻辑。
非常感谢
答案 0 :(得分:0)
只需覆盖sortyBy
方法并让它使用您自己的比较功能。
您可以在Ember CLI初始化程序中执行覆盖。