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