我正在尝试将两个属性绑定到Ember文本字段,但它不起作用。
{{input type="text" value=name class="uk-width-1-1" placeholder="Name" required="" }}
如果errors.name
为真,我如何将“错误”类绑定到此文本字段?
答案 0 :(得分:7)
您要做的事情如下:
{{input type="text" value=name classBinding=":uk-width-1-1 errors.name:error" placeholder="Name" required=""}}
只要error.name真的是布尔值,就不需要计算属性。在classBindings中:uk-width-1-1将始终打印,只有在errors.name为true时才会出错。
仅供参考,请说您有错误和非错误类要使用。您可以执行errors.name:error:non-error,当errors.name为true时会出错,而当false为false时则出错。
答案 1 :(得分:1)
您可以将其更改为:
{{input type="text" value=name classBinding="textFieldClasses" placeholder="Name" required="" }}
在您的视图中,在以下行中定义计算属性:
textFieldClasses: function() {
var class = "uk-width-1-1";
if (this.get('controller.content.errors.name')) class += "error";
return class;
}.observes('controller.content.errors.name'),