2013-03-11 12 views

答えて

16

MarionetteのItemViewには、デフォルトのrendercloseというメソッドが用意されています。 !this.isClosed(地域、別のマリオネットの概念に見解を示すに関連する)

2)の前にトリガーした後にレンダリングするよう

1)マークビュー:

renderは、(とりわけ)以下のことを行いますイベント

3)はthis.model又はthis.collectionのいずれかからデータデフォルト(データを取得するためにserializeDataメソッドを呼び出す。

4)(テンプレートを取得しますおそらくTemplateCacheから)とMarionetter.Renderer

5を介してレンダリングすることは)あなたにも近い機能を取得し、この「自由」render方法に加えて、UI要素

をバインドします。

もちろん、CollectionView/ItemViewの組み合わせ(非常に強力です)またはCompositeView/ItemViewを使用している場合は、ItemViewを使用する必要があります。

これらのケース以外は、あなたの意見がマリオネット地域と互換性があることを知っていることが大きな利点です。理想的には、マリオネットアプリでは、あなたがそうのように、あなたのビューを表示するために別々の領域を使用します。

var myView = new MyView(); 

// render and display the view 
MyApp.mainRegion.show(myView); 

// closes the current view 
MyApp.mainRegion.close(); 

MyView場合はマリオネットItemViewあり、これは魅力のように動作します。それが単なるRaw Backbone Viewの場合は、おそらく計画どおりに動作するようにする必要があります。

私のアプリでは、通常、私は非コレクションと非コンポジットビューのすべての基礎としてItemViewを使用します。

+1

ブレット。明確で有用な答えをありがとう!まさに私が探していたもの。 – Charles

+2

助けになるのはうれしいです。 :)私はMarionetteのソースが読んだり理解しやすいことが分かったので、物事がどのように/どうしてうまくいくのかあなたが混乱しているかどうかを見てみてください。 – brettjonesdev