我是Backbone开发的初学者,我正在尝试使用Backbone开发生命周期管理。该项目包含四个主要选项卡,每个选项卡中都有子选项卡。我使用控制器,模型和视图等创建了主要选项卡。我还添加了导航滑块
这一切都运行正常,但我对如何加载主选项卡中的子选项卡感到困惑。我的主要问题是,我在哪里启动子选项卡的控制器?它来自主选项卡控制器的初始化方法吗?
代码概述: - 主控制器加载每个选项卡的集合和模型 - 主控制器在单击主选项卡时显示每个选项卡的视图
// Declare pages collection
var mainpages = new TST.Collections.Pages([ new SCL.Models.Page({
id : 1,
name : "Main Tab1",
route : "!/tab1",
_controller : TST.Controllers.Tab1
}), new SCL.Models.Page({
id : 2,
name : "Main Tab2",
route : "!/tab2",
_controller : TST.Controllers.Tab2
}) ], {
current : 1
});
// show the main layout
var layout = new TST.Layouts.Main({
collection : mainpages
});
this.options.region.show(layout);
// show the menu
var menu = new TST.Views.Nav({
collection : mainpages
});
layout.menu.show(menu);
区域在主布局中声明。 并显示选项卡上的每个选项卡单击使用 - > self.content.show(options.view,self.options.collection.goRight); self = this
每个标签的控制器都是这样的
SCL.Routers.Tab1= Backbone.Marionette.AppRouter.extend({
appRoutes : {
"!/request" : "start"
}
});
SCL.Controllers.Tab1= TST.Framework.Controller.extend({
initialize : function(options) {
this.layout = new TST.Layouts.Tab1();
this.router = new TST.Routers.Tab1({
controller : this
});
},
start : function() {
app.vent.trigger("page:change", {
view : this.layout
});
}
});
现在,我如何加载Tab1 ??
下的子标签请分享您的想法并帮助我......提前致谢!
答案 0 :(得分:0)
根据Derick Bailey的原创文章(http://lostechies.com/derickbailey/2012/04/05/composite-views-tree-structures-tables-and-more/),我在这里写了一篇关于类似问题的博文:http://davidsulc.com/blog/2013/02/03/tutorial-nested-views-using-backbone-marionettes-compositeview/
您应该能够应用博客文章中的内容来解决您自己的挑战,因为它本质上非常相似。