我正在使用Backbone js和Marionette来试验master-detail的东西。如何着手更改视图的模型?我希望从旧模型中删除视图的模型侦听器,并将其应用于新模型。与模型相关的其他类似内容也是如此。谁有一些“changeModel”代码来干净利落地做这件事?
发布于 2012-10-11 00:02:35
仅仅销毁旧的视图并基于不同的模型创建新的视图不是更容易吗?在本例中,我将模型本身传递给ItemViewOptions,在模型上我有一些定义特征……因为模型来自服务器,所以我可以操纵发生了什么。这个是用来绑定动态模板的,但我猜你也可以用事件来做一些事情。这将要求您首先销毁您拥有的任何内容,而不是重新绑定所有内容。
node = Backbone.Model.extend
nodes = Backbone.Collection.extend
model: node
url: ->
Myapp.rooturl + "/api/node"
initialize: (nodes) ->
@fetch()
nodeView = Backbone.Marionette.ItemView.extend
initialize: (options) ->
@template = "#" + options.model.attributes.nodetemplate + "-template"
tagName: 'div'
nodesView = Backbone.Marionette.CollectionView.extend
itemView: nodeView
itemViewOptions: @model
https://stackoverflow.com/questions/12820090
复制相似问题