首页 > 解决方案 > 如何将状态值分配给 Angular 组件 [ngrx Store] 中的字符串变量

问题描述

这是我的代码。但它给出了错误。

public productKey: string;

    constructor(private store: Store<AppState>) {
      this.productKey = store.pipe(select('product'), map((productState: ProductState) => productState.productKey));
    }

标签: angularngrx-store

解决方案


表达式:

store.pipe(select('product'), map((productState: ProductState) => productState.productKey))

返回一个字符串类型的 Observable (Observable)。要将存储中的值分配给本地变量,您需要订阅它:

store
  .pipe(select('product'), map((productState: ProductState) => productState.productKey))
  .subscribe(value => this.productKey = value);

如果您在 HTML 中使用它,更好的解决方案是将 Observable 分配给变量并使用Async Pipe直接在模板内提取值。


推荐阅读