Мне удалось создать URL-адрес изображения, не получив ошибок дезинфицирующего средства, но мое фоновое изображение по-прежнему не отображается. Должен ли я получить доступ к свойству changeThisBreaksApplicationSecurity, чтобы это изображение отображалось правильно? Любая помощь с этим приветствуется.
Обновлено:
Доступ к этому свойству в разметке кажется неправильным, но он работает.




![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ссылайтесь на фактическое свойство changingThisBreaksApplicationSecurity, так как вам нужно получить строку URL-адреса.
Для получения URL ресурса строки объекта safeValue можно использовать функцию DomSanitizerImpl.sanitize():
...
import { ɵDomSanitizerImpl, DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
...
// row URL
url = 'https://www.gravatar.com/avatar/5ea793dcbaff5a5e29ad3d05ef564d86';
// safe value type URL
safeUrl = this._sanitizer.bypassSecurityTrustResourceUrl(this.url);
// sanitized back from safe value raw URL
sanitizedUrl = this._sanitizerImpl.sanitize(SecurityContext.RESOURCE_URL, this.safeUrl);
...
constructor(protected _sanitizer: DomSanitizer, protected _sanitizerImpl: ɵDomSanitizerImpl) {}
Я создал STACKBLITZ, чтобы продемонстрировать это, посмотрите, пожалуйста, на console.infos
Столкнувшись с этой же проблемой год спустя, я нашел лучшее решение на основе решения @Andriy ниже. Используйте: «SecurityContext.URL» вместо «SecurityContext.RESOURCE_URL» this.userProfilePhoto = this.sanitizer.sanitize (SecurityContext.URL,
${ this.userDetails.profilePhotoUrl }?t=${ this.timestamp });