在应用程序和每个模块中导入sharedModule Angular 2

blu*_*arl 1 angular

我对 Angular 2 中如何使用共享模块的导入有点困惑,并寻求一些澄清。

因此,当我使用导入的组件和模块创建 SharedModule 类时,我也将其导出以供重用。我将 SharedModule 导入到我的 app.module 中,因此: 1.它将在应用程序加载时出现。2.所以我不必在其他功能模块中导入它。

我注意到,即使我导入了我的 app.module,但是当我运行我的应用程序时,我收到错误消息,指出我缺少组件或对模块的引用。所以我最终在所有功能模块中导入了共享模块。我认为通过将其放置在 app.module 中,我就不必将其导入到其他模块中?

Aam*_*han 6

我认为通过将其放置在 app.module 中,我就不必将其导入到其他模块中?

不,导入的任何模块都AppModule不可用于也导入的任何其他模块AppModule。如果您希望SharedModule's导出的管道/组件/指令可用于功能模块,则SharedModule必须将其显式导入到该功能模块中。这样做的好处是,您将所有导出的组件都放在一个模块中,因此即使您必须将其导入SharedModule10 个功能模块,您也只需进行 1 次导入,而不是导入每个组件/指令/管道等分别在这 10 个功能模块中。

如需进一步参考,请查看官方文档