我有一条声明,我需要根据条件分配变量:

<b>{{ (varA.count > 1 ? {{'varB.status' | localizedString}} : '') }} </b>


其中{{varB.status | localizedString}}使用在另一个位置指定的localizedString过滤“ varB.Status”
例如,如果对于所选的本地化,varB.Status是“ Test”,它将返回“ Test”

这给我的错误

Syntax Error: Token 'varB.status' is unexpected, expecting [:]

最佳答案

您有语法错误,不需要在插值内部以及在不完整表达式之间进行插值。假定varB也位于范围内,则表达式将根据范围本身作为属性进行评估。

做就是了:-

<b>{{ (varA.count > 1 ? varB.status : '') }} </b>


Demo

如果要应用过滤器:-

<b>{{ (varA.count > 1 ? (varB.status | localizedString) : '') }} </b>


甚至

<b>{{ (varA.count > 1 ? varB.status : '') | localizedString }} </b>

关于javascript - Angular js如果条件不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26302403/

10-12 07:02