服务器端网址通过http://host:3000/categories.json
为我提供了所有类别的列表我有作为骨干和模型中的模型的类别我在subCategoriesCollection中捕捉子类别。此时网址为http://host:3000/category/1
这将为我提供1下所有子类别的集合。
我想要的是,在页面上显示每个类别。也就是说,如果有10个类别,我需要渲染视图10次,允许用户在单个页面上显示每个类别,但使用相同的模板。
请指导我。
答案 0 :(得分:0)
这是使用子视图渲染集合的典型方法(我假设这是您在说“相同模板”时所引用的内容)。
var SubCategoryView = Backbone.View.extend({
initialize: function(){
_(this).bindAll();
},
render: function () {
$(this.el).html(this.model.escape('Name');
return this;
}
});
var SubCategoryListView = Backbone.View.extend({
initialize: function(){
_(this).bindAll();
},
render: function () {
$(this.el).empty();
this.collection.each(function (subcategory)
{
var childView = new SubCategoryView({
model: subcategory
});
$(this.el).append(childView.render().el);
});
return this;
}
});
然后,您可以通过将子类别集合传递给SubCategoryListView
来呈现类别视图当我开始使用骨干网时,我发现这个链接很有帮助。它有点深入,但提供了一个更强大的解决方案,我刚刚输入的内容:http://liquidmedia.ca/blog/2011/02/backbone-js-part-3/
祝你好运