在angular2中重用模块失败

时间:2017-03-11 22:14:51

标签: angular typescript

我正在开发一个angular2网站,我有一个根模块和一个子级模块,但是我在根模块中包含的模块我必须重新包含在子级模块中,因此不能真正重复使用

这是我的帽子

模块中的

@NgModule({
    declarations: [
       AppComponent,
       ComingSoonComponent,
     ],
   imports: [
      BrowserModule,
      FormsModule,
      HttpModule,
      AppRoutingModule,
      HomepageModule,  //included the homepage module
      OwlModule

   ],
 providers: [],
   bootstrap: [AppComponent]
  })
   export class AppModule { }

现在在主页模块中

@NgModule({
   imports: [
        CommonModule,
         OwlModule//already in the app module
    ],
    declarations: [HomepageComponent]
  })
 export class HomepageModule { }

猫头鹰模块被导入两次以便它可以工作,但如果我只在应用程序模块中导入,那么我会收到一个错误

 If 'owl-carousel' is an Angular component, then verify that it is part of this module.

我可能会错过什么,因为在涉及多个模块的应用程序中,这可能会变得令人厌烦,不得不重复导入

1 个答案:

答案 0 :(得分:1)

将其从AppModule中删除,并将其添加到HomepageModule的导入/导出数组中:

HomepageModule:

    @NgModule({
       imports: [
            CommonModule,
            OwlModule
        ],
       exports: [
           OwlModule
        ],
        declarations: [HomepageComponent]
      })
     export class HomepageModule { }

的AppModule:

@NgModule({
    declarations: [
       AppComponent,
       ComingSoonComponent,
     ],
   imports: [
      BrowserModule,
      FormsModule,
      HttpModule,
      AppRoutingModule,
      HomepageModule

   ],
 providers: [],
   bootstrap: [AppComponent]
  })
   export class AppModule {}