現在,雖然使用延遲加載,我加載了所有提供者在app.module.ts
,我想這可能不是最好的策略,因爲這不會加快我的應用啓動時間,特別是因爲我已經有50個自定義提供者(不要評價我);)。懶惰加載和提供者策略
因此,我問我自己,如果我真的應該爲我的所有應用程序加載所有的應用程序,或者我應該加載它們只在我只使用它們?
我猜測只有在我真正使用它們的地方加載提供程序會更好。
但在這種情況下,這對我來說則並不清楚,在所有如何解決以下結構:
讓說我用自己的模塊和三個提供了三頁(A,B和C) (1,2和3)。
A use 1
B use 1, 2, 3
C use 1, 2
我猜,因爲1是跨所有應用程序使用,我必須聲明它在
app.module.ts
由於3只在網頁B的使用,我想我會只聲明它在
B.module.ts
但是2呢?我該如何在
B.module.ts
和C.module.ts
中聲明它,目標是共享相同的提供程序「內存」(如果提供程序包含一個值,B和C應該看到相同的對象),分別如何編碼?簡單地通過注射提供者「照常」和角度做其餘的?
THX提前任何幫助,將真正理解
UPDATE
不知道如果我理解正確的角度文檔但是這是目標,供應商應加載了所有的應用程序都很寬?
見
https://angular.io/guide/ngmodule-faq#q-component-scoped-providers
有趣的是,這將是一個沒有任何聲明的共享模塊嗎?就像@NgModule({providers:[2],exports:[2]}) –
它可以工作,它是與我需要在多個其他模塊中的模塊。 – Flow
會嘗試,會讓你知道,thx –