angular2 - 在三元操作中使用本地化字符串

时间:2017-03-24 15:22:31

标签: angular localization angular2-template

我试图有条件地将title属性添加到我的按钮,即如果表达式的计算结果为true,我想为按钮添加一些标题,否则什么都不做。 但是,我还希望标题被本地化,所以我想要的标题将来自资源文件(如en.json)

我尝试使用:

[attr.title]="typeOfApplication == 'Native' ? '{{'PROJECT.ONLY_DEFAULT' | translate }}' : null"

这样当表达式求值为truthy时,我希望显示与'PROJECT.ONLY_DEFAULT'对应的本地化字符串。

但是我收到错误说:

  

条件表达式typeOfApplication =='Native'? '{{'需要[typeOfApplication =='Native'中第37列的所有3个表达式? '{{'PROJECT.ONLY_DEFAULT'|翻译}}':null]

1 个答案:

答案 0 :(得分:1)

丢失插值并使用常规括号:

[attr.title]="(typeOfApplication == 'Native') ? ('PROJECT.ONLY_DEFAULT' | translate) : null"

使用插值和数据绑定([])将始终产生错误,您只能使用其中一种。