Javascript 此模式是否适用于使用木偶执行区域切换?
这个问题是基于我之前的一个问题。它不同于它,因为我在问我遵循的方法是否正确,或者是否存在另一种方法来执行区域之间的切换 我创建了一个包含两个不同区域的布局。在Javascript 此模式是否适用于使用木偶执行区域切换?,javascript,layout,backbone.js,marionette,Javascript,Layout,Backbone.js,Marionette,这个问题是基于我之前的一个问题。它不同于它,因为我在问我遵循的方法是否正确,或者是否存在另一种方法来执行区域之间的切换 我创建了一个包含两个不同区域的布局。在initialize上,布局在我的布局的两个区域中加载两个视图。说出ViewA和ViewB。在ViewA中会触发一个事件。该事件由要切换的布局使用,并注入其他两个视图。说ViewC和ViewD 这种方法是正确的还是我必须遵循另一种模式?路线 下面是一些代码,其中注释突出了重要部分 onConfirm : function() {
initialize
上,布局在我的布局的两个区域中加载两个视图。说出ViewA
和ViewB
。在ViewA中
会触发一个事件。该事件由要切换的布局使用,并注入其他两个视图。说ViewC
和ViewD
这种方法是正确的还是我必须遵循另一种模式?路线
下面是一些代码,其中注释突出了重要部分
onConfirm : function() {
this.leftView = new ViewC();
this.rightView = new ViewD();
this.leftRegion.show(this.leftView);
this.rightRegion.show(this.rightView);
},
initialize : function() {
// listen for event triggered from ViewA
// e.g. GloabalAggregator.vent.trigger("ga:confirm");
// where "ga:confirm" is a simple string
GloabalAggregator.vent.on("ga:confirm" , this.onConfirm, this);
this.leftView = new ViewA(), // creating here a new ViewC the style is applied correctly
this.rightView = new ViewB(); // creating here a new ViewD the style is applied correctly
},
onRender : function () {
this.leftRegion.show(this.leftView);
this.rightRegion.show(this.rightView);
}
要在
布局中的视图之间切换
通常使用,请查看一个示例
基本上,您必须创建一个新的控制器
var controller = Marionette.Controller.extend({
initialize: function(options){
this.leftRegion = options.leftRegion;
this.rightRegion = options.rightRegion;
},
swap: function() {
// do the region swapping here
}
});
您可以从以下视图中创建它:
var controller = new MyController({
leftRegion: this.leftRegion,
rightRegion: this.rightRegion
});
(其中,此
引用视图)并让其在的帮助下收听该事件
你可能会发现《木偶》作者的几个例子很有用:
选项中的区域是主要区域。如何传递(或分配)属于布局的一个或多个区域?再见!!嘿嘿,乔:),我编辑了我的答案,看看这是不是你的意思。