Backbone.Marionette.Layout
2 つの異なるリージョンを含むを拡張したプロジェクトをセットアップしました。このレイアウトは、アプリケーション全体でコンポーネントとして使用できます。具体的には、以下のように地域を設定しています。
regions : {
masterRegion : { selector: '[data-region=master]' },
slaveRegion: { selector: '[data-region=slave]' }
},
特に、data-region
興味のあるビューを挿入するためにセレクターを使用しています。
このようなレイアウトがツリー構造で使用されると、getEl
関数が間違った領域を指定してビューを挿入するため、ビューが複製されます。明らかにそれは私のせいであり、Marionette
(v1.1.0)ドキュメント内に次のように書かれています。
parentEl がある場合は、getEl 関数をオーバーライドして、リージョンの最初の使用時にセレクターが確実に見つかるようにオーバーライドする必要があります。領域の el をオブジェクト リテラルの parentEl.find(selector) に割り当てて領域を構築しようとすると、要素が既に DOM に存在することが保証されず、問題が発生します。
は次のようにgetEl
定義されます
getEl: function(selector){
return Marionette.$(selector);
}
それで、私の質問は次のとおりです。これは何を意味するのでしょうか?このメソッドをオーバーライドするにはどうすればよいですか? そのようなオーバーライドを実行する正しい場所はどこですか?
それが明確であることを願っています。