Backbone.Marionette重写方法

时间:2012-07-11 14:54:28

标签: coffeescript marionette

在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?

1 个答案:

答案 0 :(得分: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)
    })