双花括号语法调用把手中的帮助程序或路径。但是在帮助器中,您不能使用它们来调用子表达式。相反,您必须使用括号来调用子表达式。例如:
错误的
{{input value={{uppercase user.name}} }}
正确的
{{input value=(uppercase user.name) }}
因为车把不允许用动态值插入文字值。您需要使用一些自定义助手来实现您想要的。Ember 1.3.2 带有一个concat
助手,所以你可以像这样使用它:
{{input class=(concat "form-control " color) value=property.value type="text"}}
注意“form-control”类末尾的空格,这是必需的,因为 concat 助手此时不添加任何分隔符。
如果您使用的是旧版本,您可以创建一个join-params
助手来为您处理这个问题:
应用程序/helpers/join-params.js
import Ember from 'ember';
export function joinParams(params) {
return params.join(' ');
}
export default Ember.HTMLBars.makeBoundHelper(joinParams);
然后使用它而不在“form-control”类的末尾添加空格
{{input class=(join-params "form-control" color) value=property.value type="text"}}