Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 尝试使用forRoot()为延迟加载的组件延迟加载与角度材质相关的自定义模块不会';行不通_Angular_Angular Material_Lazy Loading_Angular Routing_Ng Modules - Fatal编程技术网

Angular 尝试使用forRoot()为延迟加载的组件延迟加载与角度材质相关的自定义模块不会';行不通

Angular 尝试使用forRoot()为延迟加载的组件延迟加载与角度材质相关的自定义模块不会';行不通,angular,angular-material,lazy-loading,angular-routing,ng-modules,Angular,Angular Material,Lazy Loading,Angular Routing,Ng Modules,我有一个lazyloading模块设置,通过角度布线,我使用角度材质包渲染数据。根据建议,我已经为名为MaterialModule(使用forRoot方法)的所有材料组件制作了一个自定义模块,我将其导入app module中作为forRoot:MaterialModule.forRoot(),,但是,在我的延迟加载组件/模块中,除非我也在所有延迟加载模块中显式导入它,否则此MaterialModule不可用 app-module.ts imports: [ BrowserModule, AppR

我有一个lazyloading模块设置,通过角度布线,我使用
角度材质
包渲染数据。根据建议,我已经为名为
MaterialModule
(使用
forRoot
方法)的所有材料组件制作了一个自定义模块,我将其导入
app module
中作为forRoot:
MaterialModule.forRoot(),
,但是,在我的延迟加载组件/模块中,除非我也在所有延迟加载模块中显式导入它,否则此
MaterialModule
不可用

app-module.ts
imports: [
BrowserModule,
AppRoutingModule,
MaterialModule.forRoot(),
CoreModule]
=============

material-module.ts
export class MaterialModule {
  static forRoot(): ModuleWithProviders {
  return {
    ngModule: MaterialModule
   }
 }
}

是否有一种方法可以使共享模块(如此MaterialModule)在angular中的所有延迟加载模块中可用。

这里没有错。只有当模块的声明在模块中导出,并且模块在您想要使用它们的另一个模块中导入时,才可用,只有提供者中的内容才会在整个应用程序中共享

使用forRoot创建一个模块只是一种约定,用于初始化一次,或者构建一个单例模式

但是如果你想使用这个模块中的东西,你必须在你需要的每个模块中导入它,当然没有forRoot

这就是范围,提供者有一个全局范围,这意味着它随处可见。声明具有私有范围,这意味着它们仅在当前模块内可见。如果您想在其他地方使用它们,您需要在它们自己的模块中导出它们,并在另一个模块中导入该模块以使用它们

这是一篇关于ngModules的文章,它对ngModules进行了更详细的解释:


当谈到延迟加载时,它是相同的,只是延迟加载模块的提供程序只有在模块加载后才可用。

为什么要使用
forRoot()
?创建简单模块并在应用程序中导入-module@ashishpal当前位置我之前就做过。但是它似乎不适用于惰性加载模式。。