SAP Spartacus 标准的 Effects 实现的注入原理
生活随笔
收集整理的這篇文章主要介紹了
SAP Spartacus 标准的 Effects 实现的注入原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先研究標準的 effect 為何可以被 call 到:在 ProductReviewsEffects 構造函數里設置斷點:
發現在訪問首頁時,斷點即觸發。
為什么 AppModule 啟動時,就要加載 ProductReviewEffect?
單擊 AppModule,就跳轉到我自定義的 AppModule 文件了,但是該文件里并沒有 ProductReviewEffect:
這個 EffectFeatureModule 是標準框架的實現:
Spartacus 所有標準的 Effects 實例,都是在下列代碼 ngrx-effects.js 里實例化的:
function createEffects(injector, effectGroups, userProvidedEffectGroups) {/** @type {?} */const mergedEffects = [];for (let effectGroup of effectGroups) {mergedEffects.push(...effectGroup);}for (let userProvidedEffectGroup of userProvidedEffectGroups) {mergedEffects.push(...userProvidedEffectGroup);}return createEffectInstances(injector, mergedEffects); }問題就是,對于 AppModule 而言,這些 Effects 是從哪里解析出來的?
看一下標準的 Effects 是怎么做的?
export const effects: any[] = [ProductsSearchEffects,ProductEffects,ProductReviewsEffects,ProductReferencesEffects, ]; EffectsModule.forFeature(effects),解決方案
最后,生效了:
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的SAP Spartacus 标准的 Effects 实现的注入原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软狂放大招!微软New Bing人人可
- 下一篇: 库克:大量印度人将成中产,市场正处于转折