我试图在屏幕上显示一系列图像,但隐藏或不显示具有特定图像名称的图像,但是出于某种原因,它要么隐藏所有图像,要么仅显示一个图像。
这是我的代码,感谢您的帮助。
<div ng-repeat="x in documents" ng-if="x.document_name=='leftover.png'" ng-show="not_admin">
<img src="{{ x.image }}" width="30" height="30">
<p><b>{{ x.document_name }}</b></p>
</div>
如果图像为'leftover.png'并且not_admin为true,而我的控制器中已将其设置为true,则我只想隐藏一个div。
更新
我应该更加清楚,如果用户是管理员,我想显示所有图像,否则隐藏“ leftover.png”。
因此,如果登录的用户不是管理员,则他们可以看到除“ leftover.png”以外的所有图像,但是当管理员登录时,他们可以看到所有图像。
我希望这更有意义。
答案 0 :(得分:1)
您可以在单个ng-if中组合这两种条件
<div ng-repeat="x in documents" ng-if="!x.document_name=='leftover.png' && !not_admin">
<img src="{{ x.image }}" width="30" height="30">
<p><b>{{ x.document_name }}</b></p>
</div>
答案 1 :(得分:0)
为什么要使用不必要的条件:
ng-show="not_admin"
如果(not_admin)在所有情况下都为true,并且是必需的。 尝试合并这两个条件:
ng-if="x.document_name != 'leftover.png' && not_admin"