4

Backbone js と Marionette を使用して、マスターと詳細を実験しています。ビューのモデルを変更するにはどうすればよいですか? ビューのモデル リスナーを古いモデルから削除し、新しいモデルに適用したいと考えています。モデルに関連する他の同様のものについても同様です。これをきれいに行うための「changeModel」コードを持っている人はいますか?

4

1 に答える 1

1

古いビューを破棄して、別のモデルに基づいて新しいビューを作成する方が簡単ではないでしょうか。この例では、モデル自体をItemViewOptionsに渡します。モデルには、いくつかの明確な特性があります...モデルはサーバーから取得されるため、Viewの動作を操作できます。これは動的テンプレートをバインドするためのものですが、イベントでも何かできると思います。これには、すべてを再バインドするのではなく、最初に持っているものをすべて破棄する必要があります。

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
于 2012-10-10T16:02:35.323 に答える