我想按日期降序对获得的记录进行排序。
//model definition
export default DS.Model.extend({
name: DS.attr('string'),
date: DS.attr('number')
}
我试过 return this.store.findAll('mymodel').sortBy('date')
但没有成功。我使用的是 2.3.0 版本。
//the data
"mymodel" : {
"-KBJDc1Ccg2kny1Vzn5B" : {
"date" : 1456350696971,
"name" : "Jhon"
},
"-KBJH_JN6G-AiAVsRfCS" : {
"date" : 1456349784907,
"name" : "Peter"
},
"-KBK6ZaiI-6o6KPocrSJ" : {
"date" : 1456348227848,
"name" : "Paul"
}
}
最佳答案
返回 this.store.findAll('mymodel').sortBy('date')
不起作用,因为 findAll
返回一个 PromiseArray!
如果你在 model
钩子(Hook)中这样做,你应该这样做:
return this.store.findAll('mymodel').then(results => results.sortBy('date'));
如果您在计算属性中执行此操作,您可能希望将其重新封装在 PromiseArray 中:
list: Ember.computed({
get() {
let promise = this.store.findAll('mymodel').then(results => results.sortBy('date'));
return DS.PromiseArray.create({promise});
}
}
关于ember.js - Emberjs 排序记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35614317/