在视图中使用三元运算符

时间:2013-10-21 10:28:19

标签: javascript angularjs ternary-operator

我只想在视图中使用conditional operator

 <input type="password" ng-model="password" />
 {{ ( password == "qwerty") ? 'PASSED' : 'NOT PASSED' }}

但它会引发错误:

  

Lexer错误:第25-25列[?]中出现意外的下一个字符   表达式[(密码==&#34; qwerty&#34;)? &#39; PASSED&#39; :&#39;没有通过&#39; ]

我知道我可以使用控制器或类似['true':'PASSED','false':'NOT PASSED'][(password == "qwerty")]之类的东西解决它但是&#39; ?&#39;

的问题是什么?

小提琴:http://jsfiddle.net/cherniv/KAgrw/

3 个答案:

答案 0 :(得分:5)

你需要使用角度1.1.5 + / 1.2 +。您使用的是哪种角度?

答案 1 :(得分:3)

如果您计划在angular中使用三元运算,可以通过更改

中的语法来实现
{{exp ? true : false}}

{{exp && '<value for true>' || '<value for false'}}

示例:

<div> Total: {{bill.total == 0 && 'test' || 'test2' }} </div>

http://jsfiddle.net/KAgrw/9/

修正了我的小提琴:D

答案 2 :(得分:2)

中有非法字符
{{ ( password == "qwerty") ? 'PASSED` : `NOT PASSED` }}

而不是“你应该使用”