私が使用しているもの
私がやろうとしていること
私がやったこと
「loading-overlay」という新しいモジュールを作成しました
このモジュール内で、オーバーレイコンポーネントをエクスポートします
このモジュールをapp.moduleに追加します
コンポーネントを複数のモジュールに追加すると、次のエラーが表示されます。
タイプLoadingOverlayComponentは2つのモジュールの宣言の一部です:LoadingOverlayModuleとProjectsModule! LoadingOverlayComponentを、LoadingOverlayModuleとProjectsModuleをインポートする上位モジュールに移動することを検討してください。また、LoadingOverlayComponentをエクスポートおよびインクルードする新しいNgModuleを作成し、そのNgModuleをLoadingOverlayModuleおよびProjectsModuleにインポートすることもできます。
オーバーレイモジュール
// Modules
import { NgModule } from '@angular/core';
// Components
import { LoadingOverlayComponent } from './loading-overlay.component';
@NgModule({
declarations: [
LoadingOverlayComponent,
],
imports: [
],
exports: [
LoadingOverlayComponent
],
providers: [ ],
})
export class LoadingOverlayModule { }
アプリモジュール
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
// Routing
import { AppRouting } from './routing/app-routing';
// Modules
import { ProjectsModule } from './projects/projects.module';
import { UserModule } from './user/user.module';
import { LoadingOverlayModule } from './loading-overlay/loading-overlay.module';
// Services / Providers
import { AuthService } from './user/auth.service'
@NgModule({
declarations: [
AppComponent,
],
imports: [
BrowserModule,
AppRouting,
LoadingOverlayModule
],
providers: [
AuthService,
],
bootstrap: [AppComponent]
})
export class AppModule { }
プロジェクトモジュール
// Modules
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { LoadingOverlayModule } from '../loading-overlay/loading-overlay.module';
import { LoadingOverlayComponent } from '../loading-overlay/loading-overlay.component';
@NgModule({
declarations: [
LoadingOverlayComponent
],
imports: [
CommonModule,
RouterModule,
LoadingOverlayModule
],
providers: [ ],
})
export class ProjectsModule { }
私が愚かに逃したものを指摘する助けがあれば、大歓迎です。
削除する :
LoadingOverlayModule
からAppModule
LoadingOverlayComponent
からProjectsModule
そして:
import
LoadingOverlayModule
必要な場所
LoadingOverlayModuleは共有モジュールです。独自のコンポーネントがあります。次に、そのコンポーネントを使用するには、プロジェクトモジュールにLoadingOverlayModuleをインポートする必要があります。プロジェクトモジュールの宣言からLoadingOverlayComponentを削除します。
プロジェクトモジュールの宣言には、別のコンポーネント(たとえばProjectComponent)が必要です。共有モジュールがプロジェクトモジュールにインポートされると、セレクターを使用して、ProjectComponentテンプレートでオーバーレイコンポーネントを直接使用できます。お役に立てれば。