2016-08-03 5 views
2

CompositeViewを使用してレコードのリストをレンダリングしようとしていますが、すべての子レコードのレンダリング後に発生するイベントを特定できません。CompositeView - すべての子レコードのレンダリング後に発生するイベント

私はドキュメンテーションを経て、まだ働いていない方法を下記た -

  1. onRenderCollection - モデルのコレクションがonRender
  2. をレンダリングされた後に - すべては
  3. レンダリングされた後にレンダリングします:コレクション - は、それをちょうど試しました

以下は現在のコードスニペットです -

 View.childItem = Backbone.Marionette.ItemView.extend({ 
      template: childTpl, 
      tagName: 'tr' 
     }); 


     View.parentPane = Backbone.Marionette.CompositeView.extend({ 
      template: parentTpl, 
      childView: View.childItem, 
      childViewContainer: "#childList", 
      events: { 

      }, 
      onAfterRender: function (ev) { 
       $('tbody').css('height', '210px')); // trying to control the height dynamically.. 
      }, 

     }); 
+0

'childView:View.childTpl'は' childView:View.childItem'でないはずです。 – Quince

+0

ありがとう、訂正しました。 –

答えて

0

私はあなたがonRenderを探していると思う:

さらに複合ビューがレンダリングされた後、onRender メソッドが呼び出されます。これをレンダリングした後、ビューのelを処理するためのカスタムコードを に提供するために、これをビューで実装することができます。

View.parentPane = Backbone.Marionette.CompositeView.extend({ 
    template: parentTpl, 
    childView: View.childTpl, 
    childViewContainer: "#childList", 
    onRender: function() { 
    $('tbody').css('height', '210px')); // trying to control the height dynamically.. 
    } 
}); 
+0

不思議なことに、私のonRenderはレンダリングイベントの開始時に発砲していましたが、それ以降は動作しませんonAfterRenderを期待していました。 –

0

render:collection/onRenderCollectionを試してみてください。 Marionetteのドキュメントの"render" eventを参照してください。

関連する問題