0

2 つの異なるビュー用に 2 つの異なるバックボーン js ファイルがあります。最初の js ファイルから 2 番目の js ファイルの render メソッドを呼び出す必要があります。どうやってやるの

DocumentsPageViewと呼ばれるビューとしてbackbone.jsファイルが1つあります。2 番目のバックボーン js ファイルで、最初の js ファイルのボタンをクリックすると、DocumentsPageview の render メソッドを呼び出す必要があります。

最初のjsファイル

first.backbonejs = (function($) {
    case myapp  
        sectionView = new second.mysecondbackbone.DocumentsPageView();
        sectionView.render();
        break;
    }
}(jQuery)

2 番目の js ファイル

second.mysecondbackbone = (function($) {
    var DocumentsPageView= Backbone.View.extend({
        render: function(){
            //render the page
        }
    });
}(jQuery)

宣言セクションでオブジェクトが未定義になっています

ありがとうございます

4

1 に答える 1

0

私のアドバイスは、しないでください。

2 つのビューの間にあるメディエータ オブジェクトを使用し、両方のビューを操作するプロセスを制御します。

次のように簡単にできます。

myProcess = {

  show: function(){
    var view1 = new View1();
    view1.on("foo", this.doMoreStuff, this);
    this.showView(view1);
  },

  doMoreStuff: function(){
    var view2 = new View2();
    this.showView(view2);
  },

  showView: function(view){
    // code to stuff view.$el in to the DOM
  }

}

ここでの利点は、個々のビューの実装の詳細とは別に、独自に管理および維持できる高レベルのワークフローがあることです。ビューがどのように連携しているかを確認するために、個々のビューまでたどる必要はありません。

私はこれについてもっと書いた:http://lostechies.com/derickbailey/2012/05/10/modeling-explicit-workflow-with-code-in-javascript-and-backbone-apps/

于 2013-01-25T14:04:31.573 に答える