2017-02-17 79 views
2

我正在研究一個Angular 2應用程序示例,並計劃將@ ngrx/store和@ ngrx/effects用於狀態管理。在Angular 2中使用ngrx/store和ngrx/effects進行狀態管理

此示例應用程序有一個根模塊和多個功能模塊。

現在我的問題是。

  1. 我可以導入StoreModule和EffectsModule在我所有的功能模塊 OR 它們應當在根模塊只有一次進口?

  2. 爲了導入一個模塊在一個單一的效果文件我寫了下面的代碼行中的模塊文件

    EffectsModule.run(AuthorEffects) 
    

    如果什麼有多個效果文件?

回答

0

它的大部分已經根模塊中導入的時間。它看起來像NGRX已在第三版測試版的解決方案,以提供動態減速功能:

https://github.com/ngrx/store/pull/269

至於多重功效,你將需要調用EffectsModule.run()爲每個效果。

+0

例如,我將應用程序拆分爲多個功能模塊(每頁一個),每個頁面需要聲明一些效果,如果我在每個頁面EffectModule.run(AuthorEffects)中添加並在3頁之間導航,效果服務將保留我離開頁面後是否激活? – Nicu

+0

如果我有一個複製操作在不同的頁面上觸發不同的效果,複製操作在另一個頁面上應該有不同的名稱?因爲如果服務在頁面移除後沒有運行,那麼我可以針對不同的效果使用相同的操作。我試圖找到如何最好地爲每個頁面創建不同的操作或在不同的頁面上重新使用操作名稱。 – Nicu

+1

如果您只在根模塊中提供商店,則應該在那裏註冊所有效果。 – JusMalcolm