如何解决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 举报,一经查实,本站将立刻删除。