我正在尝试更新属于 CollectionView 的项目的视图。最好的方法应该从那个特定的视图调用“render()”?尽管模型发生了变化,但我认为我在这里遗漏了一些重要的东西,因为尽管模型发生了变化,但调用“render()”并不会更新视图。谢谢你的帮助!问候!
问问题
573 次
1 回答
1
调用“render()”的最佳方式是为 CollectionView 订阅某个事件,例如“update_collection_view”。阅读更多关于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 回答