簡體   English   中英

Angular 7.2-“組件是2個模塊的聲明的一部分”,但不是

[英]Angular 7.2 - “component is part of the declarations of 2 modules” but it is not

從Angular 5.2更新到Angular 7.2,

我有一個在模塊中使用一次的組件

但是當我“ ng build --prod”項目時,出現此錯誤

ERROR in : Type GraphComponent in C:/myproject/src/app/widgets/graph/graph.component.ts is part of the declarations of 2 modules: 

DashBoardModule in C:/myproject/src/app/pages/dashBoard/dashBoard.module.ts and 
DashBoardModule in C:/myproject/src/app/pages/dashboard/dashBoard.module.ts

請注意, 兩個模塊是相同的

我不能指責這里出了什么問題,這是我導入的組件:

import { Component, OnInit, Input,OnChanges,SimpleChange } from '@angular/core';

@Component({
    selector: 'my-graph',
    templateUrl: './graph.component.html',
    styleUrls: ['./graph.component.css'],
})
export class GraphComponent implements OnInit,OnChanges {
...
}

這是我如何在模塊中導入組件

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { ReactiveFormsModule, FormBuilder } from '@angular/forms';

import { DashBoardComponent } from './dashBoard.component';
import { DashBoardService } from './dashBoard.service';
import { DashBoardRoutingModule } from './dashBoard.routing';

import { LoadingOverlayModule } from '../../widgets/loadingOverlay/loadingOverlay.module';
import { DataTableModule } from '../../widgets/dataTable/dataTable.module';
import { ERFormModule } from '../../widgets/erform/erform.module';

import { GraphComponent } from '../../widgets/graph/graph.component';

import { PageTitleService } from '../../widgets/pageTitle/pageTitle.service';

@NgModule({
    imports: [
        CommonModule,
        FormsModule,
        ReactiveFormsModule,
        DataTableModule,
        ERFormModule,
        DashBoardRoutingModule,
        LoadingOverlayModule
    ],
    declarations: [
        DashBoardComponent,
        GraphComponent
    ],
    providers: [DashBoardService, FormBuilder,PageTitleService],
})
export class DashBoardModule {}

這是DashBoardRoutingModule

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { DashBoardComponent } from './dashBoard.component';

import { AuthGuardService } from '../../auth/authGuard.service';

const dashboardRoutes: Routes = [
    {
        path: 'dashBoard',
        component: DashBoardComponent,
        pathMatch: 'full',
        canActivate: [AuthGuardService],
    }
];
@NgModule({
    imports: [
        RouterModule.forChild(dashboardRoutes)
    ],
    exports: [
        RouterModule
    ]
})
export class DashBoardRoutingModule {}

這應該(並且正在)工作

在模塊中導入組件時需要考慮一些新的考慮嗎?

問候

可能是您有在其中還聲明了DashboardComponent任何未使用或已歸檔的模塊。

因為我看到有兩個模塊dashboarddashBoard 那就是錯誤的意思。

C:/ myproject / src / app / pages / dashBoard /dashBoard.module.ts中的DashBoardModule和C:/ myproject / src / app / pages / 儀表板 /dashBoard.module.ts中的DashBoardModule

儀表板和儀表板不同,將它們更改為只有一個版本(文件夾的名稱)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM