Несколько вещей.
Ваше приложение должно быть таким:
//app.html
<!--we use (dataEmiter) to get the changes, and [names] to send the properties -->
<app-date-range (dataEmitter)="emit($event)"></app-date-range>
<app-viewer [names]="names"></app-viewer>
//And the component like
export class AppComponent {
names:any[]=[]; //<--declare a variable
emit(data:any[])
{
this.names=data;
}
}
В вашем компоненте vievewer не ставьте * ngIf, если тег app-table, я выбираю положить в div и использовать names.length
<div class="container">
<div class="row" *ngIf="names.length">
<app-table [names]="names"></app-table>
</div>
</div>
Если вы хотите смоделировать get, измените сервисную функцию findByDate на
findNameByDate(fromDate: String, toDate: String) {
return Observable.of(this.data);
}
Конечно, функция диапазона дат должна быть
getData() {
let fromDate = this.dateName[0];
let toDate = this.dateName[1];
this.dataService.findNameByDate(fromDate, toDate)
.subscribe(names => { //<---subscribe
this.names = names;
this.dataEmitter.emit(this.names);
console.log(this.names);
}
)
}