У меня есть этот хук жизненного цикла ngAfterViewInit:
ngAfterViewInit() {
this.sort.sortChange.subscribe(() => this.paginator.pageIndex = 0);
this.subscription = this.dataService.dataChanged
.subscribe(
() => {
this.getData();
}
);
this.getData();
}
Я хочу, чтобы подписка выполнялась до this.getData()
вне подписки, и только если этого не произошло, я хотел бы, чтобы выполнялся this.getData()
вне подписки.
Как я могу это сделать? Помещение его в ngOnInit не работает, потому что это таблица с разбивкой на страницы, которая работает только после отображения страницы. Мне нужно иметь подписку, когда пользователь добавляет новые данные в таблицу, и я хочу, чтобы они были видны автоматически.
Отредактировано Если я запускаю код, как написано выше, то при первом переходе на страницу мои данные правильно загружаются в мою разбитую на страницы таблицу с сервера. Затем пользователь может добавить новый элемент данных, используя форму, которая находится в другом компоненте. Когда пользователь закончит добавлять новый элемент, он вернется к этой таблице. Как это выглядит сейчас, таблица сначала загружается без нового дополнения, а затем перезагружается с новым дополнением. Я хотел, чтобы первая загрузка не была видна пользователю, чтобы при переходе назад он сразу видел правильные данные.