регистрация большого количества пользовательских значков на mat-icon - PullRequest
0 голосов
/ 30 октября 2019

Мне было интересно, есть ли быстрый и чистый способ зарегистрировать весь каталог с помощью механизма регистрации мат-значков.

На данный момент я сохранил имя своих значков в списке и затем повторилсписок для их регистрации, но я не рад тому факту, что мне приходится добавлять в свой список новое имя значка каждый раз, когда я добавляю значок.

вот мой код:

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`)
        );
      });
    }
  }
}

1 Ответ

0 голосов
/ 30 октября 2019

Вы можете написать пользовательское задание для автоматического создания этого списка из списка каталогов. В идеале в файле, содержащем только этот список, так что вы можете легко перезаписать.

Затем запустите эту задачу перед сборкой

...