У меня есть родительский и дочерний компоненты.
В дочернем компоненте у меня есть кнопка, как показано ниже.
//child.component.html
<button mat-raised-button [disabled]="!form.valid || submitButtonDisable" type = 'Submit' color='primary' >
{{generateButton}}
</button>
//child.component.ts
@Output() onGenerateReport: EventEmitter<any> = new EventEmitter<any>();
@Input() generateButton: String;
OnSubmit() {
this.onGenerateReport.emit(this.parameterRequest); // paasing data to parent after button click
this.submitButtonDisable = true;
this.generateButton = 'Generating...'
}
Ниже представлен родительский компонент
// parent component.html
<child-component
(onGenerateReport)="handleGenerateReport($event)"
[generateButton] = "generateButton | async">
</child-component>
//parent.component.ts
generateButton: Observable<String >;
handleGenerateReport($event: ParameterRequest) { // event trigerred
this.store.dispatch(new fromStore.SendRequest($event));
this.store.select(fromStore.isDataLoaded).pipe(take(1)).subscribe(data => {
if(data) {
this.generateButton = of('Generate'); // this data not passing to child
}
})
}
После успешного вызова я передаю данные ребенку, чтобы изменить метку кнопки.
Но ngrx select, данные не передаются дочернему элементу .Я что-то упустил?