我想知道是否有一种快速而干净的方法可以将整个目录注册到 mat-icon 注册机制。
到目前为止,我所做的是将我的图标名称保存在列表中,然后遍历列表以注册它们,但我对每次添加时都必须将新图标名称添加到列表中这一事实不满意一个图标。
这是我的代码:
const ICONS_TO_ADD = {
'general': ['follow', 'email', 'calendar', 'recommendation', 'follow_reg', 'follow_reg_on']
};
export class AppComponent {
constructor( private matIconRegistry: MatIconRegistry, private domSanitizer: DomSanitizer,) {
this.addIcons();
}
private addIcons() {
for (const dirName of Object.keys(ICONS_TO_ADD)) {
ICONS_TO_ADD[dirName].forEach(fileName => {
const res = this.matIconRegistry.addSvgIcon(
`${dirName}_${fileName}`,
this.domSanitizer.bypassSecurityTrustResourceUrl(`../assets/svg/${dirName}/${fileName}.svg`)
);
});
}
}
}