我想知道在angular中是否有一种方法可以有条件地显示内容,而不是使用ng-show等。例如,在backbone.js中,我可以在模板中做一些内联内容:

<% if (myVar === "two") { %> show this<% } %>

但在angular中,我似乎仅限于显示和隐藏html标签中包装的东西

<p ng-hide="true">I'm hidden</p>
<p ng-show="true">I'm shown</p>

在angular中,推荐使用什么方式有条件地显示和隐藏内联内容,只使用{{}}而不是将内容包装在html标签中?


当前回答

如果你想在值为“0”时显示“None”,你可以使用as:

<span> {{ $scope.amount === "0" ?  $scope.amount : "None" }} </span>

或者在angular js中为true false

<span> {{ $scope.amount === "0" ?  "False" : "True" }} </span>

其他回答

即使在异国他乡也适用:

<br ng-show="myCondition == true" />

检查一个变量的内容并有一个默认文本,你可以使用:

<span>{{myVar || 'Text'}}</span>

如果你想在值为“0”时显示“None”,你可以使用as:

<span> {{ $scope.amount === "0" ?  $scope.amount : "None" }} </span>

或者在angular js中为true false

<span> {{ $scope.amount === "0" ?  "False" : "True" }} </span>

Angular 1.1.5增加了对三元操作符的支持:

{{myVar === "two" ? "it's true" : "it's false"}}

在Angular 1.5.1中也是如此(因为应用程序依赖于其他MEAN堆栈依赖,所以我目前没有使用1.6.4)

这为我工作像OP说{{myVar === "二" ?"这是真的":"这是假的"}}

{{vm.StateName === "AA" ? "ALL" : vm.StateName}}