Ember绑定属性没有更新,尽管控制器属性更新得很好
Ember bind-attr no updating, although controller property updates just fine
我有一个控制器,当属性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
时,它看不到变化。
我错过了什么??
谢谢!
Nevermind,我忘了在事件回调中将控制器作为"this"传递:
App.Events.on('ajax.onStart', this, this.get('enableProcessingSubmit'));
App.Events.on('ajax.onComplete', this, this.get('disableProcessingSubmit'));
它现在起作用了。
相关文章:
- Css order属性不't在Jquery设置时更新
- 通过jQuery添加ng样式属性,angular不更新
- 更新属性工作不正常Meteor/MongoDB
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- 如何动态更新输入值属性
- 无法使用编程加载的属性更新范围滑块.js
- 使用Angular Directive用$scope属性更新DOM-只要指令运行(无需等待事件)
- 使用 HTML + Javascript 的多项选择测验:回复:使用数组对象和属性更新分数(帮助分析代码)
- 从新对象的属性更新对象的属性,但前提是新对象上的属性不是未定义的
- 浏览器如何从内部HTML属性更新DOM
- 使用计算属性更新 Ember 模型
- 从 AngularJS 中的服务属性更新$scope
- Ember绑定属性没有更新,尽管控制器属性更新得很好
- HTML5自定义属性更新值
- 数据变量没有从Vue.js中的监视器上的计算属性更新
- 使用ajax和data-*属性更新按钮
- 为什么我不能用Javascript innerHTML属性更新HTML列表项?
- 当数组中的任何项被更改时,如何使Ember计算属性更新
- 属性更新以触发对象的另一个方法
- Vue.js计算属性更新数量