0

我是 NGXS 的新手,现在我正试图在我的每个状态上添加一个加载和一个错误对象。最简单的方法是在我的状态模型上添加一个loading: boolean和一个。errors: {}

但我决定创建另一个名为的状态ApiRequestState,它基本上只包含错误和加载字段,例如:

export class ApiRequestStateModel {
   loading: boolean;
   errors: {}
}

然后有一个动作和状态类来管理其中的值。这在大多数情况下都有效,除了现在我有一个页面,我必须在其中加载几个组件,并且每个组件一次都连接到 API。问题是我只有一个加载和错误状态,所以我不知道如何一次跟踪所有这些状态。

有任何想法吗?

谢谢

4

1 回答 1

2

没有真正知道你的根状态是什么样子的,很难回答。但是鉴于您有一个loading: boolean状态,您绝对可以将其更改为字符串数组,而不是看起来像

loading = ['somerequest', 'anotherrequest', 'onemorerequest'];

//and when something is done
loading = loading.filter(x => x != 'thefinishedrequest')

一旦你这样做了,你很容易通过阅读来确定它是否正在加载

isLoading = loading.length > 0

注意:您可以仅使用 a 事件loadingCounter:number,但这实际上不会为您提供有关正在加载的任何信息

于 2022-02-27T20:25:49.983 回答