检索错误图标:无法在“ XMLHttpRequest”上执行“打开”:无效的URL

时间:2019-07-23 08:01:10

标签: angular angular-material

我正在尝试将图标添加到matIconRegistry并将其用于mat-icon

应用内组件

constructor(
   private _matIconRegistry: MatIconRegistry,
   private _domSanitizer: DomSanitizer,
){
   _matIconRegistry
          .addSvgIcon('notification', this._domSanitizer.bypassSecurityTrustResourceUrl('../assets/svg/icon_notification.svg'));
 }

我也尝试过这样,

 _matIconRegistry
      .addSvgIcon('notification', this._domSanitizer.bypassSecurityTrustResourceUrl('assets/svg/icon_notification.svg'));

}

在我的组件中

<mat-icon svgIcon="notification"></mat-icon>

但是它在控制台中引发了错误

错误检索图标:无法在“ XMLHttpRequest”上执行“打开”:无效的网址

2 个答案:

答案 0 :(得分:1)

实际上是由于拦截器导致了问题,该解决方案可在以下链接中找到:

拦截器正在阻止注册表中的“ .svg”图像。

https://github.com/czeckd/angular-svg-icon/issues/37

答案 1 :(得分:0)

在我的AppComponent中,我正在使用此方法,请注意'./assets...'表示法,因为assets目录与AppComponent处于相同的层次结构级别。

registerSvgIcon(name: string): void {
    this.matIconRegistry.addSvgIcon(name, this.domSanitizer.bypassSecurityTrustResourceUrl('./assets/svg-icons/' + name + '.svg'));
}