我正在寻找一种方法来计算今天我的ember.store的所有条目。为此,我编写了这个控制器方法:
// controllers/todos-controller.js
import Ember from 'ember';
export default Ember.ArrayController.extend({
sortProperties: ['time'],
sortAscending: false,
actions: {
createTodo: function() {
var title = this.get('newTitle');
if (!title.trim()) { return; }
var todo = this.store.createRecord('todo', {
title: title
});
this.set('newTitle', '');
todo.save();
}
},
countTodos: function() {
// count all todos added since midnight
var d = new Date();
d.setHours(0,0,0,0);
return this.gte('time', d).get('length');
}.property('@each.time'),
});
和模型
import DS from 'ember-data';
export default DS.Model.extend({
title: DS.attr('string'),
time: DS.attr('string', {
defaultValue: function() { return new Date(); }
})
});
但是,当我拨打countTodos
时,我收到了错误
Uncaught TypeError: undefined is not a function
基于the documentation我认为我可以将gte
应用于数组。 如何按日期计算?
答案 0 :(得分:1)
很抱歉想发表评论,但我没有声名鹊起......
事实上在您的countTodos
this
引用您的arrayController
和arrayController没有方法.gte
http://emberjs.com/api/classes/Ember.ArrayController.html
<强> [UPDATE] 强>
有问题的请求:
在Ember arrayControllers中过滤内容的一种方法:(如果您需要过滤模板中{{each}}循环显示的内容,而不实际调整&#34;内容&#34;请使用{{1} }如果只是为了获得带有filtred元素的arrayCopy,只需在自定义函数中使用它...:)
arrangedContent