一尘不染

angular.js中的内联条件

angularjs

我想知道是否有一种方法可以使用ng-show等方法来有条件地显示内容,例如在骨干.js中,我可以对模板中的内联内容执行以下操作:

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

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

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

用angular推荐的仅使用{{}}而不是将内容包装在html标签中的有条件显示和隐藏inline内容的推荐方法是什么?


阅读 437

收藏
2020-07-04

共1个答案

一尘不染

编辑:2Toad下面的答案是您正在寻找!支持那件事

如果您使用的是Angular <= 1.1.4,那么此答案将有效:

为此,还有一个答案。我要发布一个单独的答案,因为这是对解决方案的“精确”尝试,而不是可能的解决方案列表:

这是一个过滤器,将执行“立即如果”(也称为iif):

app.filter('iif', function () {
   return function(input, trueValue, falseValue) {
        return input ? trueValue : falseValue;
   };
});

可以这样使用:

{{foo == "bar" | iif : "it's true" : "no, it's not"}}
2020-07-04