ember在异步回调中调用super

时间:2014-08-21 07:38:10

标签: javascript ember.js

App.LoadAfterModalMixin = Ember.Mixin.create
  didInsertElement: ->
    superMethod = @_super
    modal = @.$().parents('.scrollable-modal')

    if modal.length > 0
      if modal.hasClass('in')
        # if the modal is already shown, run the method as the shown event has aleady been fired
        superMethod.call(this)
      else
        # run the method after the modal is shown
        modal.on "shown.bs.modal", =>
          superMethod.call(_this)
    else
      @_super()

在异步引导程序回调中调用super方法失败。检查对象的 __ nextSuper 会产生“未定义”。我正在使用ember 1.7.0.beta.4 。我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

Ember目前不支持以异步方式呼叫_super

https://github.com/emberjs/ember.js/issues/4632

我们希望更好地支持这个用例。不幸的是,实现可靠的_super功能是一个棘手的平衡行为。