2014-10-28 28 views
0

我有一个控制器,当属性isProcessingSubmit设置为true时禁用模板中的按钮。或者至少它应该禁用。Ember bind-attr没有更新,虽然控制器属性更新很好

模板具有下面的代码:

<button type="submit" {{bind-attr disabled=isProcessingSubmit}}>Sign in</button> 

在控制器上,我有这样的:

App.SignInController = Ember.ObjectController.extend({ 
    isProcessingSubmit: false, 

    enableProcessingSubmit: function() { 
     this.set('isProcessingSubmit', true); 
    }, 
    disableProcessingSubmit: function() { 
     this.set('isProcessingSubmit', false); 
    }, 

    init: function() { 
     this._super(); 
     App.Events.on('ajax.onStart', this.get('enableProcessingSubmit')); 
     App.Events.on('ajax.onComplete', this.get('disableProcessingSubmit')); 
    }, 

    ... 

}); 

这些事件被解雇的处理程序对jQuery全局AJAX事件。我确认事件被正确触发,并按预期调用enableProcessingSubmitdisableProcessingSubmit

此外,如果我在蝙蝠控制器右侧设置isProcessingSubmit标志为true,按钮会按预期禁用。因此,当我拨打set来电时,基本上无法看到变化。

我在想什么?

谢谢!

回答

0

没关系,我忘了给控制器通过为在“本”的事件回调:

App.Events.on('ajax.onStart', this, this.get('enableProcessingSubmit')); 
App.Events.on('ajax.onComplete', this, this.get('disableProcessingSubmit')); 

它的工作现在。

相关问题