javascript - Angular 6 exibir imagem de fundo tratada
Tenho conseguido construir a URL da imagem sem receber os erros do sanitizador, mas minha imagem de fundo ainda não aparece. Preciso acessar a propriedade "changingThisBreaksApplicationSecurity" para que esta imagem seja exibida corretamente? Qualquer ajuda será muito apreciada.
ATUALIZAÇÃO: Parece errado acessar essa propriedade na marcação, mas funciona.
Resposta #1
Referencie a propriedade real changingThisBreaksApplicationSecurity, já que você precisa obter a string da URL.
Resposta #2
Para obter uma URL de recurso de linha do objeto safeValue, a função DomSanitizerImpl.sanitize() pode ser usada:
...
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) {}
Eu criei um STACKBLITZ para demonstrar, por favor, veja os console.logs


