Использование ng-if in angular для отображения или скрытия изображения - PullRequest
1 голос
/ 07 июня 2019

Я пытаюсь отобразить серию изображений на экране, но скрыть или не отображать серию с определенным именем изображения, но по какой-то причине она либо скрывает все изображения, либо показывает только одно.

Вот мой код, любая помощь приветствуется.

<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>

Я хочу скрыть только один div, если изображение имеет значение 'leftover.png', а not_admin имеет значение true, которое уже установлено в true в моем контроллере.

Обновление

Мне следовало бы прояснить ситуацию: я хочу показать все изображения, если пользователь является администратором, но в противном случае скрыть просто «leftover.png».

Таким образом, если зарегистрированный пользователь не является администратором, он может видеть все изображения, кроме «leftover.png», но когда администратор входит в систему, он может видеть все изображения.

Надеюсь, это имеет больше смысла.

Ответы [ 2 ]

1 голос
/ 07 июня 2019

Вы можете объединить оба условия в одном нг-если

<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>
0 голосов
/ 08 июня 2019

Почему вы используете ненужное условие:

ng-show="not_admin" 

, если оно (not_admin) верно для всех случаев и является обязательным.Попробуйте объединить оба условия следующим образом:

ng-if="x.document_name != 'leftover.png' && not_admin"
...