0

我是 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); 显示每个选项卡上的选项卡单击 其中自我 = 这个

每个选项卡的控制器如下所示

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 下加载子标签?

请分享您的想法并帮助我...在此先感谢!

4

1 回答 1

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/

您应该能够应用博客文章中的内容来解决您自己的挑战,因为它们在本质上非常相似。

于 2013-06-04T08:30:02.353 回答