设置
3PModule.forRoot({someConfig: someValue})
我希望在我的应用程序中有一个点,我可以使用配置导入3PModule
并在我的任何应用程序模块中以这种方式使用它。
问题/问题
如果仅在AppModule
中导入它-在我的延迟加载模块中不起作用。 (模板错误,指令未知)
[这应该是因为,据我了解,AppModule
确实
导入SharedModule
,但由于SharedModule
不是具有
declarations
中的特定组件/指令,然后
AppModule
没有针对第3方的定义
组件/声明。它是否正确?
更新:实际上,这可能是因为模块不是分层的,所以每个模块都必须分别导入SharedModule
]
如果仅将其导入到某些SharedModule
中,则不确定如何使用以下配置导出它:3PModule.forRoot({someConfig: someValue})
对此合适的解决方案是什么?
答案 0 :(得分:0)
我认为您必须将3PModule.forRoot({someConfig: someValue})
导入AppModule
,并将3PModule
导入SharedModule
并从那里导出。原因是因为forRoot
注册了所有提供程序,因此只需要执行一次(通过将其导入core或AppModule),但是要使用相应的指令或组件,您只需要将该模块导入到您要使用的各个模块,因此最好将其导入SharedModule
并从那里导出,因为SharedModule
是导入所有模块。