我想知道是否有一种快速干净的方法将整个目录注册到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`)
);
});
}
}
}
答案 0 :(得分:0)
您可以编写一个自定义任务以从目录列表自动生成该列表。理想情况是在仅包含此列表的文件中,这样您就可以轻松覆盖。
然后在构建之前运行该任务