角度ソースを複数の機能モジュールにリファクタリングしようとしていました。以前のソースにはモジュールが1つしかなく、すべてのコンポーネントがその1つのモジュール内で宣言されていました。リファクタリングについては、次の手順を実行しました。
機能モジュールを作成しました
コンポーネントをアプリモジュールから機能モジュールに移動しました。宣言リストとエクスポートリストの機能モジュールにコンポーネントを追加しました。
移動したコンポーネントの参照をアプリモジュールから削除しました
機能モジュールをアプリモジュールにインポートしました。
ソースコードはコンパイルされますが、サイトが読み込まれません。コンソールでは、HTML上の機能モジュールのコンポーネントがアプリモジュールのコンポーネントを使用しているため、クラッシュすることがわかりました。
機能モジュールでアプリモジュールのコンポーネントを使用するために追加の手順は必要ないと思いました。私は何かが足りないのですか?
追加:以下のHTMLは、移動されたコンポーネント(アプリモジュールから機能モジュールに移動したコンポーネント)からのものであり、アプリモジュールで宣言されたapp-organization-user-searchコンポーネントを使用しています。
<div class="col-md-12 full-width py-2">
<app-organization-user-search (addClicked)="addParticipant($event)" (cancelClicked)="addingParticipants = false"></app-organization-user-search>
追加:特定の問題に対する回答を検索しているすべての人にとって、解決策は受け入れられた回答のコメントにあります。
1つのモジュールを複数のモジュールに分割するには、すべてのモジュールとコンポーネントを正しくエクスポートおよびインポートする必要があります。
app.module.ts *「ルート」モジュール
@NgModule({
declarations: [
AppComponent,
],
imports: [
// angular
BrowserModule,
HttpClientModule,
// splitted modules
DiversityMattersModule,
PreventingAirPolutionModule,
PeacfullyRevolutionModule,
// ...
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {
}
多様性-matters.module.ts 上記のリストのモジュールの例
@NgModule({
imports: [
// ...
],
declarations: [
AwesomeComponent,
// ...
],
exports: [
AwesomeComponent,
// ...
],
})
に依存するすべてのコンポーネントがAppComponent
インポートできるようになりましたAwesomeComponent
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加