Запросы на получение изображений с помощью AngularJS


106

Я сохраняю исходную строку изображения, которое будет отображаться в HTML, в контроллере AngularJS, однако оно дает 404 до инициализации контроллера Angular.

Вот HTML:

 <div ng-controller="Cont">
      <img src="{{imageSource}}">
 </div>

Угловой контроллер:

 var Cont = function($scope) {
      $scope.imageSource = '/tests.png';
 }

И ошибка, которую я получаю ( %7D%7Dсоответствует {{в шаблоне).

 GET https://localhost:9000/%7B%7BimageSource%7D%7D 404 (Not Found) 

Как я могу предотвратить это? То есть загружать изображение только после инициализации контроллера Angular?

Ответы:


230

Попробуйте заменить свой src на ng-src для получения дополнительной информации см. Документацию :

Использование разметки Angular, например {{hash}} в атрибуте src, работает неправильно: браузер будет извлекать из URL-адреса буквальный текст {{hash}}, пока Angular не заменит выражение внутри {{hash}}. Директива ngSrc решает эту проблему.

 <div ng-controller="Cont">
      <img ng-src="{{imageSource}}">
 </div>

2
Лучше использовать data-ng-controller и data-ng-src, чтобы HTML был действительным.
Juampy NR

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.