0

CollectionView に属するアイテムのビューを更新しようとしています。その特定のビューから「render()」を呼び出す最善の方法は? モデルの変更にもかかわらず、モデルが変更されたにもかかわらず、「render()」を呼び出してもビューが更新されないため、ここで重要な何かが欠けていると思います。ご協力いただきありがとうございます!よろしく!

4

1 に答える 1

1

「render()」を呼び出す最良の方法は、「update_collection_view」などのイベントに CollectionView をサブスクライブすることです。詳しくはChaplin.mediatorをご覧ください。これは、情報を通信および交換するための一般的なチャップリン メカニズムであり、メモリ リークを防ぎます。サーバーからデータをロードした後、コレクションまたはモデルの「fetch()」メソッドでイベントが発生することがよくあります。

define [
'chaplin'
'views/base/view'
'views/base/collection_view'
], (Chaplin, View, CollectionView) ->


class SomeView extends View
  template: template1
  template = null
  foo: ->
    #here we update collection view
    Chaplin.mediator.publish 'update_collection_view'



class SomeCollectionView extends CollectionView
  itemView: SomeView

  template: template2
  template = null

  initialize: ->
    super
    @subscribeEvent 'update_collection_view', @render    
于 2013-11-25T11:31:06.683 に答える