有一个例子in documetation。代码为here。
文档说明 isCompleted 控制器的计算属性将使用参数调用,其值为 true 或 false 取决于检查的输入属性的值
控制器如何自动知道输入的已检查属性是否已更改?我的意思是,当检查输入属性的状态发生变化时,调用控制器的cumputed属性是非常明显的。这个怎么运作?文档描述了这种行为?
非常感谢。
答案 0 :(得分:2)
控制器不知道,输入助手将复选框绑定到传入的参数checked
。
{{input type="checkbox" checked=isCompleted class="toggle"}}
http://emberjs.com/guides/templates/input-helpers/
http://emberjs.com/api/classes/Ember.Checkbox.html
Ember.Checkbox = Ember.View.extend({
classNames: ['ember-checkbox'],
tagName: 'input',
attributeBindings: ['type', 'checked', 'indeterminate', 'disabled', 'tabindex', 'name'],
type: "checkbox",
checked: false,
disabled: false,
indeterminate: false,
init: function() {
this._super();
this.on("change", this, this._updateElementValue);
},
didInsertElement: function() {
this._super();
this.get('element').indeterminate = !!this.get('indeterminate');
},
_updateElementValue: function() {
set(this, 'checked', this.$().prop('checked'));
}
});