大家好,我正在创建我的第一个Backbone.js应用程序。它基本上是一个在表中呈现数据的集合。我想要做的是能够过滤和排序数据。做这件事最好的方法是什么?我是否应该使用路由器或存储一些渲染将考虑的参数。
我认为路由器很快就会变得非常复杂,因为我将有3-4个过滤器和1个订单选项。
你认为如何?
发布于 2011-08-01 16:22:43
我将在我的集合上添加用于过滤和排序的方法,并使用视图仅呈现可能被过滤或排序的任意集合。
对于订购,有一个内置的钩子:http://documentcloud.github.com/backbone/#Collection-comparator
对于过滤,检查集合上的下划线帮助器方法,并使用自己的方法进行扩展。
例如,您可以有一个返回过滤数组的collection.doFiltering(filter1,filter2,filter3);。
发布于 2011-08-01 16:15:38
在我的基于主干的项目中,我对Backbone.Collection进行了子类化,允许控制器向其添加任意的GET参数。
这是给你的一段代码:
RailsCollection = Backbone.Collection.extend({
initialize: function() {
_.bindAll(this, 'url');
},
url: function() {
var base = this.baseUrl || this.model.prototype.baseUrl;
if(!this.params) {
return base;
} else {
return base + '?' + $.param(this.params);
}
}
});https://stackoverflow.com/questions/6895725
复制相似问题