在Angular中使用ng-if显示或隐藏图像

时间:2019-06-07 11:22:17

标签: angularjs angular-ng-if

我试图在屏幕上显示一系列图像,但隐藏或不显示具有特定图像名称的图像,但是出于某种原因,它要么隐藏所有图像,要么仅显示一个图像。

这是我的代码,感谢您的帮助。

<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”以外的所有图像,但是当管理员登录时,他们可以看到所有图像。

我希望这更有意义。

2 个答案:

答案 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"
相关问题