我有一个控制器,当属性isProcessingSubmit
设置为true
时,该控制器会禁用模板中的按钮。或者至少它应该禁用。
模板具有以下代码:
<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事件。我确认事件已正确触发,enableProcessingSubmit
和disableProcessingSubmit
按预期调用。
此外,如果我在蝙蝠右侧的控制器上将isProcessingSubmit
标志设置为true
按钮按预期禁用。因此,当我进行set
调用时,基本上无法看到更改。
我错过了什么?
谢谢!
答案 0 :(得分:0)
没关系,我忘了将控制器作为&#34;这个&#34;在事件回调中:
App.Events.on('ajax.onStart', this, this.get('enableProcessingSubmit'));
App.Events.on('ajax.onComplete', this, this.get('disableProcessingSubmit'));
它现在正在工作。