В своем приложении я использую тему поведения. У меня есть служба, которая делает http-вызов и помещает результат в тему моего поведения
Моя служба:
data$ = new BehaviorSubject({
users: []
});
getUsers(){
this.http()
.subscribe((users: any) => {
this.data$.next({...this.data$.value, users: users});
});
}
Я вызываю эту услугу на своей странице, но не метод Oninit. Я вызываю этот вызов во время события emi дочернего компонента на моей странице
Моя страница :
export class UserListComponent implements OnInit {
users$ = new BehaviorSubject(null);
constructor(private userService: UserService) { }
ngOnInit(): void {}
getUsers(event) {
this.userService.getUsers();
this.users$ = this.userService.data$;
}
Передача результата моему дочернему компоненту:
<app-table [config]="config" [entity]="(users$| async)?.users"
(onDataChange)="getUsers($event)" class="row col-md-12">
</app-table>
Моя проблема в том, что результат не передается моему дочернему компоненту. Тем не менее, я хорошо восстанавливаю его в своем родительском компоненте
С другой стороны, если я загружаю свои данные с самого начала в onInit, они передаются дочернему компоненту
this.http()
? - person SJNF   schedule 20.02.2021