Представьте себе список пользователей, отображаемый в компоненте Angular. Я внедряю свой сервис и подписываюсь на него в своем шаблоне.
У меня также есть диалог, в котором вы можете добавлять пользователей в мою таблицу. После добавления и закрытия диалогового окна я хочу обновить таблицу sh, повторно вызвав вызов службы.
компонент:
export class UserComponent implements OnInit {
public users$!: Observable<User[]>;
constructor(
public dialog: MatDialog,
private userService: UserService,
) {}
public ngOnInit() {
this.users$ = this.userService
.getAllUsers$()
.pipe(take(1));
}
public openAddUserDialog() {
this.dialog
.open(AddUserDialogComponent)
.afterClosed()
.subscribe(() => {
// TODO re-trigger observable here?
});
}
}
шаблон:
<p *ngFor="user of users$ | async">{{ user.name }}</p>
Как повторно вызвать сервисный вызов в функции afterClosed()
из диалогового окна? Я не хочу подписывать это в моей подписке.
Я считаю, что должен быть шаблон для объединения возвращаемого значения getAllUsers$()
с другим Observable и pu sh что-то там, а затем повторно вызвать процесс.