Используя наблюдаемое на разных маршрутах

У меня проблема с загрузкой данных для дополнительной страницы, она работает нормально, если я нажимаю на продукты управления, а затем обновляю продукт, однако, если я обновляю продукт обновления, он теряет данные.

У меня есть целевая страница, например: панель инструментов, которая является боковой панелью. Например, при нажатии на продукты загружается страница управления продуктами.

в manage-products.component.ts я получаю такие продукты

this.products = this.productsService.products;
this.productsService.GetProducts().subscribe();

Мой products.service.ts

public GetProducts(): Observable<any> {
return this.httpClient.get(this.baseUrl + '/product').map(res => {
  this._productSource.next(res as Product[]);
 });
}

При нажатии на продукт он направляется на: product/update/1 в product-update.component.ts

Я фильтрую данные здесь, используя фильтрацию наблюдаемого. Если я обновлю эту страницу, все будет неопределенным. Должен ли я получать продукт, нажимая API вместо подписки на существующий наблюдаемый объект, если да, должен ли я создать новый маршрут API, который получает данные о продукте по productId или получать их все и фильтровать их?

Ценю любой совет. Спасибо

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
0
41
1

Ответы 1

Из прочтения вопроса непонятно, как product-update.component.ts получает данные, которые ему необходимо визуализировать. Я предполагаю, что он получает его от @input() из родительского компонента. Если это так, он не знает, что ему нужно обновляться, когда вы нажимаете обновление. Итак, я предполагаю, что вам нужна услуга в дочернем компоненте, например

  ngOnInit() {
    this.getSalesItems();
  }

  getSalesItems(): void {
   this.apiService.getSalesItems().subscribe(
     value => {
       this.saleItems = value;        
     },
     error => {
       console.info("Error get req = ", error);
     }
  );

Другие вопросы по теме