Javascript 如何过滤Backbone.js收集和重新发布应用程序视图?
这完全是一个Backbone.js noob问题。我正在使用ToDo Backbone.js示例,试图构建一个相当简单的单一应用程序界面。虽然todo项目更多的是关于用户输入,但该应用程序更多的是基于用户选项(单击事件)过滤数据 我对Backbone.js和Mongoose完全陌生,一直无法找到一个很好的例子来说明我正在尝试做什么。我已经能够让我的api从MongoDB集合中提取数据,并将其放入Backbone.js集合中,该集合在应用程序中呈现数据。我一辈子都不知道如何过滤数据并重新呈现应用程序视图。我正在尝试按文档中的“类型”字段进行筛选 这是我的剧本: (我完全知道需要进行一些主要的重构,我只是在快速原型化一个概念。) 您是否尝试过使用“leads”筛选结果进行收集 差不多Javascript 如何过滤Backbone.js收集和重新发布应用程序视图?,javascript,mongodb,backbone.js,mongoose,singlepage,Javascript,Mongodb,Backbone.js,Mongoose,Singlepage,这完全是一个Backbone.js noob问题。我正在使用ToDo Backbone.js示例,试图构建一个相当简单的单一应用程序界面。虽然todo项目更多的是关于用户输入,但该应用程序更多的是基于用户选项(单击事件)过滤数据 我对Backbone.js和Mongoose完全陌生,一直无法找到一个很好的例子来说明我正在尝试做什么。我已经能够让我的api从MongoDB集合中提取数据,并将其放入Backbone.js集合中,该集合在应用程序中呈现数据。我一辈子都不知道如何过滤数据并重新呈现应用程
window.AppView = Backbone.View.extend({
el: $("#main"),
events: {
"click #leads .highlight" : "filterLeads"
},
initialize: function() {
Jobs.bind('add', this.addOne, this);
Jobs.bind('reset', this.render, this); //render on reset
Jobs.fetch(); //this triggers reset
},
addOne: function(job) {
var view = new JobView({model: job});
this.$("#activitystream").append(view.render().el);
},
//add a render function
render: function() {
this.$("#activitystream").empty(); //empty out anything thats in there
Jobs.each(this.addOne);
},
filterLeads: function() {
Jobs.reset(Jobs.leads()); //reset Jobs with only the leads
}
});
此外,您的AppView没有“render”方法,但您在此处引用它:
Jobs.bind('all', this.render, this);
伟大的谢谢你,瑞安。提供的评论确实帮助我更好地了解了Backbone.js的工作原理。
Jobs.bind('all', this.render, this);