Зображення Отримайте запити за допомогою AngularJS


106

Я зберігаю вихідний рядок зображення, що буде виведено в HTML, в контролер AngularJS, однак він отримує 404 перед ініціалізацією кутового контролера.

Ось 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) 

Як я можу запобігти цьому? Тобто завантажувати зображення лише після ініціалізації кутового контролера?

Відповіді:


230

Спробуйте замінити src на ng-src, щоб отримати додаткову інформацію, перегляньте документацію :

Використання кутової розмітки на зразок {{hash}} в атрибуті src не працює правильно: браузер отримуватиме з URL-адреси буквальний текст {{hash}}, поки Angular не замінить вираз всередині {{hash}}. Директива ngSrc вирішує цю проблему.

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

2
Краще використовувати контролер data-ng та data-ng-src, щоб HTML був дійсним.
Juampy NR

6

Якщо хтось шукає рішення для стилізації фонового зображення, використовуйте це:

<div ng-style="{'background-image': 'url({{ image.source }})'}">...</div>

Неправильно застосовувати Інтерполяцію з ngStyle. Довідка: docs.angularjs.org/api/ng/directive/ngStyle
Abdul Rauf
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.