微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Angular/NGXS - 无法获得商店状态

如何解决Angular/NGXS - 无法获得商店状态

在父组件上,我正在调度一个动作,我愿意在子组件上获取调度的数组,为此我正在执行以下操作:

  export class ListComponent implements OnInit {
  @Select(ProductState.getProductDetails) listProduct$: Observable<Product>;

   constructor() { 
    //Can't get the dispatched array using the following
    const list = this.listProduct$;
    console.log('The array content is ',list);
   }

  }

list$ 通常应该返回一个数组,因为我愿意对其元素运行 for 循环并过滤一些数据。

到目前为止,我无法在日志中看到数据从父组件正确分派,但我无法在子组件上获取/修改它。

解决方法

如你所见,选择器从 RxJS 返回一个 Observable。 如果你想获得价值,你应该订阅它(或使用AsynPipe):

 this.listProduct$.subscribe(products => {
     // Do something with products
 });

不要忘记取消订阅,否则会导致奇怪/不可预测的错误和内存泄漏。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。