и вопрос возник
Если в тимплейте уже есть привязка в виде
<my-component [data]="data$ | async">
Но при этом, после действий пользователя потребовалось сделать запрос на бек и получить новый массив объектов, отфильтрованный по другому, а ангуляровский http модуль в таких случаях возвращает поток.
Я попробовала просто выполнить присвоение типа
const data$ = this.dataService.getFilteredDate()
this.data$ = data$;
Но ничего не изменилось, данные старые остались. Это как-то по другому подразумевается делать? Через какой-нибудь switchMap, да?
он пуш стратегия?
const data$ = this.dataService.getFilteredDate() Вы один раз выполнили запрос всего. Вам нужно явно пнуть запрос ещё раз.
Да не, вроде обычная. Должно было отработать?
Вы данные все в компоненте храните? В сервисе не храните?
Кажется что да Если только вы не присваиваете один и тот же обсервабл несколько раз
он разве будет переподписываться на запрос? Он же один раз выполнится и всё, нет?
ну чтоб запрос выполнился, нужно же заново подписаться на this.dataService.getFilteredDate() если я правильно понимаю А async pipe же не будет заново подписываться или я просто уже заработался)
Если внутри метода простой http вызов, то это будут два разных обсервабла
Нет, сервис только запросы выполняет, данные в компоненте
И это я понимаю. Но метод то один раз вызовется
Чет я этого не вынес из сообщения
:) да я уж сам запутался
Обсуждают сегодня