私はバックボーン開発の初心者で、バックボーンを使用してライフサイクル管理を開発しようとしています。プロジェクトには 4 つのメイン タブがあり、すべてのタブにサブタブがあります。コントローラー、モデル、ビューなどを使用してメイン タブを作成しました。また、ナビゲーション スライダーも追加しました。
それはすべて正常に機能していますが、メインタブ内にサブタブをロードする方法について混乱しています。私の主な質問は、サブタブのコントローラーをどこで開始するかです。メインタブのコントローラーのinitializeメソッドからですか?
コードの概要: - メイン コントローラーは、各タブのコレクションとモデルを読み込みます - メイン コントローラーは、メイン タブがクリックされると、各タブのビューを表示します
// 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の下にサブタブをロードするにはどうすればよいですか??
あなたのアイデアを共有して、私を助けてください... 事前に感謝します!