Angular bypassSecurityTrustResourceUrl, говорящий, что любой аргумент не определен

Я пытаюсь санировать URL используя bypassSecurityTrustResourceUrl, Однако, независимо от того, какое значение я положил в аргумент, я всегда получаю

Не могу прочитать свойство bypassSecurityTrustResourceUrl неопределенного

return this.sanitizer.bypassSecurityTrustResourceUrl('http://www.google.com');

Возвращает:

ОШИБКА TypeError: Невозможно прочитать свойство bypassSecurityTrustResourceUrl неопределенный в UrlSanitizerService.push../src/app/services/urlsanitizer.service.ts.UrlSanitizerService.sanitizeURL

Везде, где я смотрю, написано, что это должно санировать URL и позволить отображать его через iframe. Возможно, я неправильно понимаю, что добавить в качестве аргумента. Любая помощь будет оценена, спасибо!

2 ответа

Решение

Эта ошибка не о том, что вы передаете в качестве аргумента, а о дезинфицирующем средстве.

Вы должны убедиться, что импортировали и объявляли дезинфицирующее средство в своем конструкторе следующим образом:

import { DomSanitizer} from '@angular/platform-browser';

...

constructor(private sanitizer:DomSanitizer) {    }

Обновление: я разобрался с проблемой. Я не уверен, почему это так, но когда я переместил дезинфицирующее средство из службы в мой app.component, все работало нормально.

Другие вопросы по тегам