複数のコンポーネントをモジュール ( ) にバンドルし、Widget1Module
そのモジュールを別のモジュール ( AdminModule
) に挿入して、すべてのコンポーネントが 内AdminModule
のコンポーネントにアクセスできるようにしたいと考えていますWidget1Module
。
これを実行したいのは、declarations
配列がAdminModule
大きくなって管理不能になるのを避けるためです。問題の詳細については、以下を参照してください。
次のようなモジュールファイルがあります。
import { CommonModule } from '@angular/common';
import { RoutingModule } from './admin-routing.module';
import { Declaration1 } from "./declaration1.component";
import { Declaration2 } from "./declaration2.component";
import { Declaration3 } from "./declaration3.component";
@NgModule({
imports: [
CommonModule,
RoutingModule,
],
declarations: [
Declaration1,
Declaration2,
Declaration3,
]
})
export class AdminModule {}
Widget1Component
どの「宣言」モジュール内でも使用できるコンポーネント ( ) を作成したいと考えています。私はこのようなことができることを知っています:
import { CommonModule } from '@angular/common';
import { RoutingModule } from './admin-routing.module';
import { Declaration1 } from "./declaration1.component";
import { Declaration2 } from "./declaration2.component";
import { Declaration3 } from "./declaration3.component";
import { Widget1 } from "./widget1.component";
@NgModule({
imports: [
CommonModule,
RoutingModule,
],
declarations: [
Declaration1,
Declaration2,
Declaration3,
Widget1
]
})
export class AdminModule {}
これは機能しますが、このアプリケーションが成長するにつれて、すべてのウィジェットを別のモジュールにバンドルし、そのモジュールをこのモジュールに挿入できるようにしたいと考えています。
import { CommonModule } from '@angular/common';
import { RoutingModule } from './admin-routing.module';
import { Declaration1 } from "./declaration1.component";
import { Declaration2 } from "./declaration2.component";
import { Declaration3 } from "./declaration3.component";
import { Widget1Module } from "./widget1.module";
@NgModule({
imports: [
CommonModule,
RoutingModule,
Widget1Module
],
declarations: [
Declaration1,
Declaration2,
Declaration3
]
})
export class AdminModule {}
しかし、このようなことをしようとすると、アプリケーションが に含まれるウィジェットについて認識していないというエラーが表示され続けますWidget1Module
。