【发布时间】:2013-11-11 09:55:03
【问题描述】:
我正在尝试使用 Emberjs sortProperties 在此 jsfiddle 中按日期对内容进行排序。我的模型有一个 startTime 属性,我尝试对其进行排序,但它不起作用。然后,我在控制器中创建了一个名为 todayEvent 的计算属性,该属性返回与传入日期匹配的事件,我尝试对其进行排序,但它也不起作用。我要做的只是列出在同一天发生的事件,但是以这样一种方式,即发生事件的一天中的时间按升序排序,例如,应该列出 10am 发生的事件在那些发生在 12pm 之前。
这是jsfiddle
型号:
App.TimeSlot = DS.Model.extend( {
startTime: DS.attr('date'),
endTime: DS.attr('date'),
allDay: DS.attr('boolean'),
soldOut: DS.attr('boolean')
});
控制器
App.TimeSlotController = Ember.ArrayController.extend({
content: [ ],
sortProperties: ['todayEvent'],
sortAscending: true,
day: Ember.A(['2013-10-25']),
todayEvent: function(){
self = this;
u = self.get('content');
console.log('u', u);
kl = u.filter(function(availableSlot) {
console.log ('a', availableSlot.get('startTime') );
return (moment(availableSlot.get('startTime')).format("YYYY-MM-DD") == self.get('day').toString() );
});
return kl;
}.property('day', 'content@each'),
});
fixtureAdapter
App.TimeSlot.FIXTURES = [
{
id: 3,
startTime: moment.utc('2013-10-25T12:30:00+01:00',"YYYY-MM-DD HH:mm:ss" ),
allDay: true
},
{
id: 4,
startTime: moment.utc('2013-10-25T10:10:00+01:00',"YYYY-MM-DD HH:mm:ss" ),
allDay: true
},
{
id: 5,
startTime: moment.utc('2013-10-23 00:00 +01:00', "YYYY-MM-DD HH:mm"),
allDay: true
}
];
【问题讨论】:
标签: javascript ember.js ember-data