2012-07-11 208 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) 
    })