首页 > 解决方案 > Angular - 将可观察对象的值分配给另一个可观察对象的字段

问题描述

我正在尝试将 observable 的值分配给另一个 observable 的字段。这是我的代码:

products$.pipe(tap( products => {
  this.data$ = this.data$.pipe(map(data => {
    data.products = products;
    console.dir(data.products);
    return data;
  }));
}));

标签: angularrxjsobservable

解决方案


您可以使用switchMap&map运算符来实现这一点,以使用所需的数据和产品创建一个新的 observable,如下所示:

const result$ = this.data$.pipe(
  switchMap((data) =>
    products$.pipe(
      map((products) => {
        data.products = products;
        console.log(data.products);
        return data;
      })
    )
  )
);

// Now you can subscribe to the new `result$` observable, and get the data with products:
result$.subscribe((data) => console.log(data.products));

推荐阅读