如何在Angular组件[ngrx存储]中将状态值分配给字符串变量

时间:2019-02-18 11:05:43

标签: angular ngrx-store

这是我的代码。但这会带来错误。

public productKey: string;

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

1 个答案:

答案 0 :(得分:1)

表达式:

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直接在模板内部提取值。