私はこの世界に不慣れで、バックボーンとマリオネットの概念のいくつかを理解する必要があります。ここでは、私が学んでいる概念のいくつかを説明しようとしています。それらについてフィードバックをいただければ幸いです。
このrender関数は、テンプレートをレンダリングするためのロジックを定義します。完了すると、onRenderコールバックが呼び出されます。ここでは、レンダリングされたビューが DOM にアタッチされていないとします。これは、添付したテンプレートを含むtagName(デフォルトは)によって構成されています。divそのタグを DOM に明示的に挿入するには、どこかに追加する必要があります。私が間違っている?
一般的に、私は次のことを行います。
var view = new MyView();
view.render();
$("container").append(view.$el);
Marionette は、領域の概念で Backbone を拡張します。このshowメソッドをリージョンで呼び出して、特定のビューを表示できます。
var view = new MyView();
region.show(view);
この場合、showメソッドはrenderそれ自体で関数を呼び出し、最後に、ビューのコンテンツが DOM に配置されるときに、onShowそのビューで が呼び出されます。大丈夫ですか?
Marionette doc から、 と呼ばれる別のコールバックもありますonDomRefresh。私の実験から、このメソッドが前に呼び出されていることに気付きましたonShow。したがって、私の推測では、ビューはまだ DOM にアタッチされていません。しかし、ドキュメントは次のように述べています。
ビューがレンダリングされた後にトリガーされ、Marionette.Region を介して DOM に表示され、再レンダリングされました。
そのヒントを教えていただけますか?
前もって感謝します。