У меня есть общий модуль-
@NgModule({
imports: [
CommonModule,
],
exports: [
ThreeDotsIconComponent,
HighlightDirective
],
declarations: [
HighlightDirective,
ThreeDotsIconComponent
],
entryComponents: [
],
providers: []
})
export class SharedLayoutModule {}
Компонент ThreeDotsIconComponent
- это простой компонент, содержащий код для компонента значка материала 2.
import {Component} from '@angular/core';
import {DomSanitizer} from '@angular/platform-browser';
import {MatIconRegistry} from '@angular/material';
/**
* @title SVG icons
*/
@Component({
selector: 'icon-svg-example',
templateUrl: 'icon-svg-example.html',
styleUrls: ['icon-svg-example.css'],
})
export class IconSvgExample {
constructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer) {
iconRegistry.addSvgIcon(
'thumbs-up',
sanitizer.bypassSecurityTrustResourceUrl('assets/img/examples/thumbup-icon.svg'));
}
}
Я хочу использоватьthumbs-up
имя значка во всех хост-проектах (во всех проектах, где используется общий модуль).Я хочу сделать это, не используя его селектор html, как-
<icon-svg-example></icon-svg-example>
в хост-проекте.Я не уверен, как это сделать.перепробовал много способов но не нашел точного решения.Я буду использовать это как -
<mat-icon svgIcon="thumbs-up"></mat-icon>
Я не хочу регистрировать иконки в хост-проекте.Пожалуйста, помогите!