以下面的示例为例:如果未选中复选框,则禁用按钮,并在选中时启用按钮:
车把
<form {{action "register" on="submit"}}>
{{input type="checkbox" checked=isAgreed}}
{{input type="submit" value="Register" class="btn btn-primary" disabled=isNotAgreed}}
</form>
Javascript:
App.ApplicationController = Ember.ObjectController.extend({
content:{
isAgreed:false
},
isNotAgreed:function(){
return !this.get('isAgreed');
}.property('isAgreed'),
actions:{
register:function(){
alert("registered");
}
}
});
如本JSBin所示。
我想知道是否有一种更清洁的方法。例如,删除
isNotAgreed
的observable属性,仅在我的车把模板中使用{{input type="submit" value="Register" disabled=!isAgreed}}
这样的东西。有没有办法做到这一点? 最佳答案
或者,您可以绑定(bind)一个disabled
类,当isAgreed
是false
时,该类将为true,如下所示。
<button type="submit" {{bind-attr class=":btn :btn-primary isAgreed::disabled"}}>Register</button>
由于还使用了 twitter-bootstrap ,因此此
disabled
类将为按钮提供禁用的行为。这是您的问题的简化bin。