问题描述
我已经导入:
imports: [
browserModule,browserAnimationsModule]
在app.module
中。
是否应该将这些模块导入其他自定义模块和延迟加载的模块中?
我的自定义模块也有这种情况:
@NgModule({
imports: [CommonModule,MaterialModule,RouterModule],declarations: [HeaderComponent,NavSearchComponent],exports: [HeaderComponent],})
export class HeaderModule {}
为什么当我将HeaderModule
导入另一个自定义模块时,自定义模块找不到组件HeaderComponent
?
解决方法
如果要从app.module或主模块导入,则无需在任何其他模块中重新导入。
app.module.ts
import {ModulesComponent} from './modules/modules.component';
import {SharedModule} from './shared/shared.module';
@NgModule({
declarations: [
......
ModulesComponent,......
],imports: [
......
SharedModule,exports: [
],providers: [
],bootstrap: []
});
modules.module.ts
import {ThirdPartyModulesModule} from '../third-party.module';
@NgModule({
declarations: [],imports: [
ThirdPartyModulesModule
],exports: [],providers: [],bootstrap: []
});
third-party.module.ts
import {NgbModule,NgbRatingModule} from '@ng-bootstrap/ng-bootstrap';
import {NgbTabsetModule} from '@ng-bootstrap/ng-bootstrap';
@NgModule({
entryComponents: [],declarations: [ ],imports: [
NgbModule,NgbRatingModule,NgbTabsetModule
],exports: [
NgbModule,providers: [
],})