хитрое решение: подготовить данные для SelectComponent
перед рендерингом компонента с таблицей. container.component.ts:
ngOnInit() {
this.userService.httpAllRoles()
.subscribe((roles: Role[]) => {
this.roles = roles;
});
}
container.component.html:
<div *ngIf="roles">
<app-table [roles]="roles"></app-table>
</div>
, а затем передача данных во внутренний компонент через valuePrepareFunction
table.component.ts:
userRole: {
title: 'userRole,
filter: false,
type: 'custom',
valuePrepareFunction: (value, row, cell) => {
// DATA FROM HERE GOES TO renderComponent
return this.roles;
},
renderComponent: SelectComponent,
onComponentInitFunction: (instance) => {
instance.selectEdit
.subscribe( (data) => {
console.log(data);
});
}
},
для получения данных в SelectComponent:
export class SelectComponent implements OnInit, ViewCell {
@Input() value; // data from table
@Input() rowData;