在angular4应用程序中,给出了以下模块:
> ReactiveFormsModule,
> FormsModule,
> HttpModule,
> TranslateModule,(翻译模块)
> AgGridModule.withComponents([]),(表框架)
> DatepickerModule.forRoot(),(以及ngx-bootstrap的一般模块)
导入它们的正确位置在哪里:CoreModule或SharedModule?
提前致谢
最佳答案 这取决于是否:
>这些模块定义了可声明的类型:组件,指令或管道.
>共享模块用于延迟加载
如果他们定义了声明并且您想要重用它们,那么最好将模块导入Shared模块.如果没有,请将它们放入Core模块.
如果在延迟加载中使用共享模块,那么您不希望创建该服务的另一个实例,并应将它们导入到Core模块中.通常这些模块定义了forRoot或forChild方法,例如DatepickerModule.forRoot().
因此,对于有问题的模块:
> ReactiveFormsModule – 共享
> FormsModule – 共享
> HttpModule – 核心
> TranslateModule – 核心(有服务)
> AgGridModule.withComponents([]) – 共享
> DatepickerModule.forRoot() – 核心
有关更多信息,请阅读Avoiding common confusions with modules in Angular