SAP Spartacus B2B User list页面的数据加载逻辑
list.service.ts的getData方法里的this.load觸發時,this實際指向UserListService:
觸發點還是list頁面的async pipe:
ListService在運行時的實例化成UserListService,在userCmsConfig里完成:
getUserList:調用this.store.select:
getUserList的實現:
這里才執行createSelector?
createSelector的返回結果:
返回一個Observable對象:
select的輸入參數:輸入一個函數,該函數的類型定義:
接受一個輸入參數,類型為T,輸出參數為K,整個select調用返回的類型為:Observable:
問題來了:this.store.select輸入的,到底是selector,還是純函數projection?
從接口看,是一個selector:
這里開始加載list:
先take,再map:
注意,這里返回的是string,而不是Observable:
準備加載B2BUsers,參數為userId和params:
這個return語句會觸發reducer的狀態遷移:
這個payload里怎么只有一條數據?
似乎是在一個循環里被反復觸發:
確實是在循環里:高階reducer
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的SAP Spartacus B2B User list页面的数据加载逻辑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: y85分辨率在哪设置
- 下一篇: SAP Spartacus 和Jerry