使用Angular 4中另一个模块的组件

时间:2017-07-04 08:03:55

标签: angular

我在AppModule中有RoomsComponent,它的路由是/ rooms。 此外,我有一个懒惰的模块CompaniesModule与组件CompaniesComponent与路由/公司。

当从AppModule重用RoomsComponent时,我正在尝试构建像/ companies / {company_id} / rooms /这样的路由。

我不能这么做很长的RoomsComponent没有在CompaniesModule中声明,但这会引发一个错误,因为组件不能在多个模块中声明。

1 个答案:

答案 0 :(得分:37)

在Shared模块中声明RoomsComponent,然后将该共享模块导入需要它的模块中。以下是我的一个共享模块的示例:

import { NgModule }  from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';

import { StarComponent } from './star.component';

@NgModule({
  imports: [ CommonModule],
  exports : [
    CommonModule,
    FormsModule,
    StarComponent
  ],
  declarations: [ StarComponent ],
})
export class SharedModule { }

请注意,我的StarComponent在此声明并导出。然后,它可以在导入此共享模块的模块中声明的任何组件中使用。