Я пытаюсь использовать динамический путь изображения в качестве фонового изображения в одном из моих проектов Angular6. Я пытался использовать [style.background-image] и [style.background], даже encodeURI для исправления пробелов в пути, также пытался использовать *ngIF, чтобы он отображался после загрузки.
Случай 1:
imgPath — это абсолютный путь, к которому я добавляю путь из данных JSON.
HTML-код
<a routerLink="/article/{{news.id}}">
<img [style.background-image]="'url(' + imgPath + news.encodedImage.encocoded_primary_image + ')'">
</a>
Компонент
Проверка изображений на наличие пробелов и других скобок с помощью функции encodeURI()
'encocoded_primary_image': encodeURI(res['primary_image']['file_path'])
Вывод
Как видно на картинке, "s/Absorica%20(2).png" содержит скобки, которые могут быть причиной ошибки, но это не точно.
Другие случаи
Я пробовал с [style.background]
, [ngStyle]
, изменяя тег изображения на тег div.
Но я не могу понять, почему некоторые изображения рендерятся, а некоторые не рендерятся, хотя путь генерируется правильно, что я подтвердил, открыв их в новой вкладке.
Любая помощь будет высоко оценена