【发布时间】:2014-02-18 02:53:03
【问题描述】:
在下面的代码中,我设置了一个视图,我在其中根据日期输入过滤集合。代码第一次正常工作,但显然集合会重置,然后如果我再次按日期过滤,它不会从原始集合中过滤。过滤骨干中的集合并维护原始副本的最佳做法是什么?
window.DataIndexView = Backbone.View.extend({
tagName: 'section',
className: 'data',
events: {
"click #changedate" : "filterDate"
},
initialize: function(){
_.bindAll(this, 'render', 'filterDate');
.template = _.template($("#data_template").html());
this.collection.bind('reset', this.render());
},
render: function(){
var data = this.collection;
$(this.el).html(this.template({}));
data.each(function(point){
});
return this;
},
filterDate: function() {
var startdate = this.$("#startdate").val();
var filtered = _.filter(this.collection, function(item) {
return moment(item.get("date")).valueOf() > moment(startdate, 'MM-DD-YYYY').valueOf();
});
this.collection.reset(filtered);
}
});
【问题讨论】:
-
任何答案对您有帮助吗?如果是这样的话,你会赞成吗?谢谢。