Расширение компонента является плохой практикой, и шаблон не может быть расширен. Для этого используйте входные данные:
@Component({
selector: 'data-list',
templateUrl: './data-list.component.html',
styleUrls: ['./data-list.component.scss'],
})
export class DataListComponent {
@Input() data: basic_data[];
@Input() isShowExt = false;
}
<div *ngFor="let item of data">
<label>{{item.name}}</label>
<label *ngIf="isShowExt">{{item.ext_value}}</label>
</div>
Пример 1:
@Component({
selector: 'example1',
templateUrl: './example1.component.html',
styleUrls: ['./example1.component.scss'],
})
export class Example1 {
data = [
{ name: 'test_name' },
{ name: 'test_name' },
{ name: 'test_name' },
]
}
<data-list [data]="data"></data-list>
Пример 2:
@Component({
selector: 'example2',
templateUrl: './example2.component.html',
styleUrls: ['./example2.component.scss'],
})
export class Example2 {
data = [
{ name: 'test_name', ext_value: 'value' },
{ name: 'test_name', ext_value: 'value' },
{ name: 'test_name', ext_value: 'value' },
]
}
<data-list [data]="data" [isShowExt]="true"></data-list>