AngularJS не обновляет img src при изменении модели

Я использую ng-src для загрузки изображений. Значение загружается из некоторой переменной области видимости, например:

<img ng-src="{{currentReceipt.image}}"/>

Моя проблема в том, что когда я запускаю delete $scope.currentReceipt, он делает атрибут ng-src пустым, но не отражает его в атрибуте src. Поэтому в результате я продолжаю видеть этот образ, где мне нужен пустой заполнитель.

Как я могу справиться с этим?

Ответ 1

Это ожидаемое поведение от директив ngSrc и ngHref. Эти директивы поддерживают только распознавание новых путей, но когда путь недоступен, директивы выходят молча (здесь я вижу запрос на перенос).

Таким образом, возможным обходным решением может быть использование ngShow вместе с ngHref, чтобы скрыть тег вообще, когда переменная изображения больше недоступна:

<img ng-href="{{currentReceipt.image}}" ng-show="currentReceipt.image" />

Ответ 2

вызов $scope. $apply() после удаления $scope.currentReceipt.

Ответ 3

Для меня работает следующее решение:

<img ng-src="{{currentReceipt.image}}" ng-show="currentReceipt.image != null" />

Ответ 4

Фактически вы можете проверить длину и сделать

 <img ng-show="user.thumbnail.length > 1" class="img-circle thumb pull-left" ng-src="{{user.thumbnail}}" alt="{{user.firstname}} {{user.lastname}}">