簡體   English   中英

Ngrx 數據 - 擴展 DefaultDataService<T>

[英]Ngrx Data - extending DefaultDataService<T>

我正在嘗試擴展 ngrx/data DefaultDataService 並覆蓋一些方法。 我必須在方法中更改的是 entityUrl 並且我必須發送一個 HttpParam (告訴攔截器應該將哪個 BE 服務用於特定的 Http 請求)。

所以我重寫 ie 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(使用 NgRx 數據)- 完整指南”中有效,但不適用於我。

有誰知道問題可能是什么?

發現問題。

GeneralFilterDataDirectorateService.GetAll() 是直接調用的,而不是通過 EntityCollectionServiceBase 服務調用。

正確的調用鏈是:Component/Service => EntityCollectionServiceBase => DefaultDataService

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM