我想知道在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标签中?
编辑:2Toad下面的答案就是你想要的!给那个东西点赞
如果你使用的是Angular <= 1.1.4,那么这个答案是这样的:
还有一个答案。我发布了一个单独的答案,因为它更像是一个解决方案的“精确”尝试,而不是一个可能的解决方案列表:
下面是一个过滤器,它将执行“立即if”(又名iif):
app.filter('iif', function () {
return function(input, trueValue, falseValue) {
return input ? trueValue : falseValue;
};
});
并且可以这样使用:
{{foo == "bar" | iif : "it's true" : "no, it's not"}}