角度 - 表达式中的表达

时间:2017-02-27 21:06:14

标签: angularjs

我正在尝试在表达式中使用表达式,如下所示。

是否可以使用双括号解析表达式中的表达式?

<body>

<div ng-app="" ng-init="names=[
{name:'Jani',exp:'{{10>20}}'},
{name:'Hege',exp:'{{abc>20}}'},
{name:'Kai',exp:'{{10==20}}'}]">

<p>Looping with objects:</p>
<ul>
  <li ng-repeat="x in names">
  {{ x.name + ', ' + {{x.exp}} }}</li>
</ul>

</div>

</body>

2 个答案:

答案 0 :(得分:0)

您可以通过ng-if声明进行评估 或通过三元表达

EX:{{10 > 20 ?"Yup":"No"}}

答案 1 :(得分:0)

最佳做法是避免以这种方式使用ng-init。您应该处理控制器内的所有变量初始化。你也不应该试图用角度来评估任意表达式,你应该知道你想要做什么。如果您提供有关您要完成的内容的更多信息,我们可以提供帮助。

话虽如此,您可以使用$eval将任意字符串作为角度表达式进行评估。

{{ x.name + ', ' + $ctrl.$eval(ex.exp) }}

https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$eval