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
});
(其中,
引用视图)并让其在的帮助下收听该事件

你可能会发现《木偶》作者的几个例子很有用:


谢谢您的回复+1.在链接中有一个使用它的示例(参见第二个代码段)。注入到
选项中的区域是主要区域。如何传递(或分配)属于布局的一个或多个区域?再见!!嘿嘿,乔:),我编辑了我的答案,看看这是不是你的意思。