Angular bypassSecurityTrustResourceUrl 说任何参数未定义

Angular bypassSecurityTrustResourceUrl saying any argument is undefined

我正在尝试使用 bypassSecurityTrustResourceUrl 清理 URL。但是,无论我在参数中输入什么值,我总是得到

Cannot read property bypassSecurityTrustResourceUrl of undefined

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

Returns:

ERROR TypeError: Cannot read property bypassSecurityTrustResourceUrl of undefined at UrlSanitizerService.push../src/app/services/urlsanitizer.service.ts.UrlSanitizerService.sanitizeURL

我看过的所有地方都说这应该清理 url 并允许它通过 iframe 显示。我可能误解了争论的内容。任何帮助将不胜感激,谢谢!

此错误与您作为参数传递的内容无关,而是与消毒剂有关。

您需要确保像这样在构造函数中导入和声明消毒剂:

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

...

constructor(private sanitizer:DomSanitizer) {    }

更新:我发现了问题。我不确定为什么会这样,但是当我将消毒剂从服务转移到我的 app.component 时,一切正常。