0

0.9.3 では、リージョン マネージャーが変更され、変更ログに次のエントリが追加されました。

  • BREAKINGの実装を変更してRegion、新しいビューを DOM に追加する方法を簡単にオーバーライドできるようにしました

open メソッドをオーバーライドする最良の方法は何ですか?

現在、私は機能する次のことを行っていますが、推奨される方法が何であるかを知りたいです:

_.extend(Backbone.Marionette.Region.prototype, {
  open: (view) ->
    @$el.after(view.el)
})

場合によっては次のように show を呼び出していたため、この変更により一部のコードが壊れていました。

region.show(documentsView, 'after')

そして他の人では、私はそれを次のように呼んでいました:

region.show unitsView

これらの両方のインスタンスを考慮に入れるために open をオーバーライドするにはどうすればよいですか、または show をオーバーライドする必要がありますか?

4

1 に答える 1

0

これは機能します:

_.extend(Backbone.Marionette.Region.prototype, {
        show: (view, appendMethod) ->
            @ensureEl()
            @close()

            view.render()

            @open(view, appendMethod)
            @currentView = view

        open: (view, appendMethod) ->
            appendMethod = appendMethod || "html"
            @$el[appendMethod](view.el)
    })
于 2012-07-11T15:09:59.560 に答える