Вы можете использовать * ngIf Директива для создания экземпляра дочернего компонента после разрешения подписки или при наличии данных.
Component-1
public response$:Observable<data[]>;
constructor(public service:ShareService)
{
this.response$= this.service.getdata();
}
Шаблон компонента-1
<ng-container *ngIf="response$">
<hello [response]="response$"></hello>
</ng-container>
Компонент-2
export class HelloComponent {
@Input() response:Observable<Idata[]>
}
Шаблон компонента-2
<div *ngFor="let item of (response|async)">
{{item.body}}
<div>
LIVE DEMO
, если вы не хотите использовать async
трубу
public response:Array<data>=[];
constructor(public service:ShareService)
{
this.service.getdata().subscribe(value=>this.response=value);
}
Компонент-1 Шаблон
<ng-container *ngIf="response">
<hello [response]="response"></hello>
</ng-container>
Компонент-2
export class HelloComponent {
@Input() response:Array<data>
}
Компонент-2 шаблона
<div *ngFor="let item of response">
{{item.body}}
<div>