Ngrx 数据 - 扩展 DefaultDataService<T>

Ngrx Data - extending DefaultDataService<T>

我正在尝试扩展 ngrx/data DefaultDataService 并覆盖一些方法。 我必须在方法中更改的是 entityUrl,我必须发送一个 HttpParam(告诉拦截器应该为特定的 Http 请求使用哪个 BE 服务)。

所以我重写了 getAll 方法,如下所示:

@Injectable()
export class GeneralFilterDataDirectorateService extends DefaultDataService<IDropDown> {
  constructor(
    http: HttpClient,
    httpUrlGenerator: HttpUrlGenerator
  ) {
    super('Directorate', http, httpUrlGenerator);
  }

  getAll(): Observable<Array<IDropDown>> {
    return this.http
      .get<Array<IDropDown>>(`url`,
        { params: new CustomHttpParams(URL_TYPES.COMMON) })
  }
}

但是它触发了 Http 请求,它不会触发任何 ngrx 事件。 (数据已收到,但未存储在 ngrx 存储中)

此 Udemy 培训中的实现有效 "NgRx (with NgRx Data) - The Complete Guide",但不适合我。

有人知道问题出在哪里吗?

找到问题。

直接调用了 GeneralFilterDataDirectorateService.GetAll(),而不是通过 EntityCollectionServiceBase 服务。

正确的调用链是: Component/Service => EntityCollectionServiceBase => DefaultDataService