我已经实现了mat图标注册表服务,这使得SVG图标可以用于材料中的mat-icon
标记。最初它正在工作,但突然出现此错误,无法检索任何图标。
我的图标服务
import { DomSanitizer } from "@angular/platform-browser";
import { MatIconRegistry } from "@angular/material/icon";
import { Injectable } from "@angular/core";
@Injectable({
providedIn: 'root'
})
export class IconService {
public icons = [
'email',
'facebook',
....
];
constructor(
private matIconRegistry: MatIconRegistry,
private domSanitizer: DomSanitizer
) {}
init() {
for (let icon of this.icons){
this.matIconRegistry.addSvgIcon(
icon,
this.domSanitizer.bypassSecurityTrustResourceUrl('../../../../assets/fonts/'+ icon +'.svg')
);
}
}
}
应用组件
import { Component, OnInit } from '@angular/core';
import { IconService } from './layout/services/icon/icon.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
constructor(
public iconService: IconService,
) {}
ngOnInit(): void {
this.iconService.init();
}
}