如何if在输入助手中使用condition子句.
我试过了:
{{input class="{{if errors.name "style-error"}}" }}
Run Code Online (Sandbox Code Playgroud)
它造成了建筑错误.
在errors.name这里是从控制器属性.
我认为它是嵌套的双花括号导致语法错误,但不知道如何实现此条件类声明.
dwi*_*ern 13
您可以使用括号嵌套助手:
{{input class=(if errors.name "style-error")}}
Run Code Online (Sandbox Code Playgroud)
您应该使用它而不是xxxBinding="..."语法
您可以使用concat帮助程序有条件地添加多个类:
有条件地添加静态+动态类:
{{input class=(if errors.name (concat "static-class " dynamicClass))}}
Run Code Online (Sandbox Code Playgroud)
有条件地添加两个动态类:
{{input class=(if errors.name (concat dynamicClass1 " " dynamicClass2))}}
Run Code Online (Sandbox Code Playgroud)
如果条件为真,则添加一个类,如果条件为假则添加另一个类:
{{input class=(if errors.name "style-error" "style-success")}}
Run Code Online (Sandbox Code Playgroud)
仅在条件为false时添加类:
{{input class=(unless errors.name "style-success")}}
Run Code Online (Sandbox Code Playgroud)
两个条件:
{{input class=(concat (if errors.name "name-error") " " (if errors.date "date-error"))}}
Run Code Online (Sandbox Code Playgroud)
对于更复杂的布尔算术(例如和/或/不,相等和比较),您可以使用ember-truth-helpers