我正在使用路由器进行导航和布局管理(对吗!?)并且似乎遇到了一个问题:
backboneQuote.Routers.ApplicationRouter = Backbone.Router.extend({
routes: {
"" : "home",
"edit/:id": "quoteEdit"
},
initialize: function(){
this.headerView = new backboneQuote.Views.headerView();
$('.header').html(this.headerView.render().el);
if(!this.itemsView){
this.items = new backboneQuote.Collections.ApplicationCollection([
{id: 1, name: "item 1"},
{id: 2, name: "item 2"},
{id: 3, name: "item 3"}
]);
this.itemsView = new backboneQuote.Views.itemsView({collection: this.items});
}
this.content = $('.container');
},
home: function(){
this.content.html(this.itemsView.render());
},
quoteEdit: function(id){
this.editQuoteView = new backboneQuote.Views.editQuoteView({model: this.items.where({id: parseInt(id, 10)})});
$('#editQuote').html(this.editQuoteView.render().el);
this.content.html($('#editQuote').html());
}
});
我的 itemsView 渲染的东西:
renderItem: function(model){
var itemView = new backboneQuote.Views.itemView({model: model});
itemView.render();
$(this.el).append(itemView.el);
return this;
},
render: function(){
this.collection.each(this.renderItem);
},
我单击一个将应用程序导航回“主页”功能的元素(单击事件触发正常),但“this.itemsView”的内容似乎从未放回“this.content”div。任何人都可以在这里发现任何问题吗?
作为另一个巨大的帮助,如果有人可以对他们在这里看到的任何东西提供任何整体的 BackboneJS 智慧,那么这将是一个巨大的帮助。