现在,虽然使用延迟加载,我加载了所有提供者在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 –