【问题标题】:Backbone.Marionette overriding methodsBackbone.Marionette 重写方法
【发布时间】:2012-07-11 05:36:44
【问题描述】:

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

【问题讨论】:

    标签: coffeescript marionette


    【解决方案1】:

    这行得通:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-12
      • 2016-10-05
      • 1970-01-01
      • 2011-09-05
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      • 2013-10-24
      相关资源
      最近更新 更多