Angularjs if-then-else表达式中的构造?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (56)

我可以以某种方式在angularjs表达式中使用if-then-else构造(ternary-operator),例如我有函数$ scope.isExists(item)必须返回bool值。我想要这样的东西,

<div ng-repeater="item in items">
    <div>{{item.description}}</div>
    <div>{{isExists(item) ? 'available' : 'oh no, you don't have it'}}</div>
</div>

我知道我可以使用返回字符串的函数,我很有兴趣使用if-then-else构造表达式。

提问于
用户回答回答于

Angular表达式不支持1.1.5之前的三元运算符,但它可以像这样模拟:

condition && (answer if true) || (answer if false)

所以在例子中,像这样的东西可以工作:

<div ng-repeater="item in items">
    <div>{{item.description}}</div>
    <div>{{isExists(item) && 'available' || 'oh no, you don't have it'}}</div>
</div>
用户回答回答于

你可以使用三元运算符

由于历史原因(也许plnkr.co在未来出于某种原因沮丧)这里是我的例子的主要代码:

{{true?true:false}}

扫码关注云+社区