他のモジュールに公開するコンポーネントをエクスポートするモジュールがあります。このコンポーネントを別のモジュールの子モジュールに使用したいのですが、最初のモジュールを親モジュールを使用して子モジュールの内部で使用できるようにしていますが、それを実行する最善の方法であると完全にはわかっていません。子モジュール内にインポートされたモジュールのコンポーネントを使用する
これは私が使用したいコンポーネントを持つルートフォルダ内の私の共有モジュール:
アプリ/共有/ shared.module.ts
import {dtComponent} from './dt.component';
@NgModule({
imports: [
CommonModule
],
exports: [
dtComponent
],
declarations: [
dtComponent
]
})
export class DatePModule{ }
私はappフォルダ内の別のモジュールを持っていますこのようなことインポートDatePModule:
アプリ/連絡先/ contacts.module.ts
import {DatePModule} from '../shared/shared.module.ts';
@NgModule({
imports: [
CommonModule,
DatePModule
]
})
export class CTModule{ }
私はCTModuleのいくつかのコンポーネントに直接dtComponentを使用する必要がなく、CTModuleの子モジュールである他のコンポーネントでこのコンポーネントを必要とします。
私はCTModuleの子モジュールの内部で再びDatePModuleをインポートし、それを行うことができますが、私はそれが最善のアプローチであると確信していないです。
アプリは/連絡先/その他/ other.module.ts
import {DatePModule} from '../../shared/shared.module.ts';
@NgModule({
imports: [
CommonModule,
DatePModule
]
})
export class OtherModule{ }
私の質問ですが、私はすでに親モジュールにインポートされた場合には、再度DatePModuleインポートする必要がありますなぜですか?このインポートを削除した場合OtherModuleコンポーネントdtComponentはモジュールの一部として認識されません。
遅延読み込みを使用していますか? –
@ Maximusはい私はすべてのモジュールとコンポーネントをロードするために遅延読み込みを使用しています – xzegga
まあ、私の答えはまだ関連しています、共有され、遅延ロードされたモジュールがマージされ、 –