【发布时间】:2012-02-22 15:58:59
【问题描述】:
我从 Backbone 开始,我想实现一个简单的应用程序来管理用户和产品对象。页面布局始终相同:标题(首页)、菜单(左列)和内容(右列),但标题和菜单内容取决于当前模块(用户或产品)。
我搜索管理页面布局的正确方法。实际上,我在我的 Backbone.Router 的每个方法中管理标题和菜单,但我认为这不是最好的解决方案。
var appRouter = Backbone.Router.extend({
routes: {
"users": "listUser",
"users/new": "newUser",
"users/:id": "showUser",
"products": "listProduct",
"products/new": "newProduct",
"products/:id": "showProduct"
},
listUser: function() {
if (this.userHeaderView == null) {
var header= new UserHeaderView();
header.render();
this.userHeaderView = header;
}
if (this.userMenuView == null) {
var menu= new UserMenuView ();
menu.render();
this.userMenuView = menu;
}
this.contentView = new UserListView().render();
}
// ...
newProduct: function() {
if (this.productHeaderView == null) {
var header= new ProductHeaderView();
header.render();
this.productHeaderView = header;
}
if (this.productMenuView == null) {
var menu= new ProductMenuView();
menu.render();
this.productMenuView = menu;
}
this.contentView = new NewProductView().render();
}
// ...
});
【问题讨论】: