У меня есть следующий компонент:
import { Component } from '@angular/core';
@Component({
selector: 'appControlPanel',
templateUrl: './control-panel.component.html',
styleUrls: ['./control-panel.component.css'],
template: `<ng-container *ngFor="let selector of Directives.selectors">
<{{selector.type}} [attributes]="{{selector.attributes}}">
<ng-container>`
})
export class ControlPanelComponent {
private Directives;
constructor() {
this.Directives = [{
selectors: [{
type: 'appDirective1',
attributes: {
'key': 1
'connection': false
}
},{
type: 'appDirective2',
attributes: {
'key': 2
'connection': true
}
}]
}, {
selectors: [{
type: 'appDirective3',
attributes: {
'key': 4
'connection': false
}
},{
type: 'appDirective4',
attributes: {
'key': 2
'connection': false
}
},{
type: 'appDirective5',
attributes: {
'key': 1
'connection': true
}
}]
}];
}
}
Я хочу создать следующие директивы (appDirective1, appDirective2, ..., appDirective5). Чтобы создать их двойственным образом, я создал свойство, которое содержит имена и атрибуты всех директив, которые будут переданы.
Но мне трудно понять, как я могу создать эти директивы, используя переменную, и если это вообще возможно или хорошая практика. Любые входы будут оценены!