2012-07-11 114 views
0

在0.9.3中,区域经理在更改日志以下条目改为:Backbone.Marionette覆盖方法

  • BREAKING改变的Region实施,允许更容易 首要的是怎么新的视图被添加到DOM

重写open方法的最佳方法是什么?

目前我做这做以下工作的,但我很好奇,想知道推荐的方法是什么:

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

这种变化也打破了一些代码对我来说,因为在某些情况下,我打电话秀一样这样的:

region.show(documentsView, 'after') 

,而在其他我打电话这样说:

region.show unitsView 

如何覆盖open以将这两个实例考虑在内,还是我需要重写show?

回答

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) 
    })