angular5父子组件的使用,运行时不报错,build时报错:

ERROR in : Type CompanyTreeComponent in D:/Project/ys-web1/src/app/system/manage/companyManage/companyTree/companyTree.component.ts is part of the declarations of 2 modules: CompanyMainModule in D:/Project/ys-web1/src/app/system/manage/companyManage/companyMain/companyMain.module.ts and CompanyTreeModule in D:/Project/ys-web1/src/app/system/manage/companyManage/companyTree/companyTree.Module.ts! Please consider moving CompanyTreeComponent in D:/Project/ys-web1/src/app/system/manage/companyManage/companyTree/companyTree.component.ts to a higher module that imports CompanyMainModule in D:/Project/ys-web1/src/app/system/manage/companyManage/companyMain/companyMain.module.ts and CompanyTreeModule in D:/Project/ys-web1/src/app/system/manage/companyManage/companyTree/companyTree.Module.ts. You can also create a new NgModule that exports and includes CompanyTreeComponent in D:/Project/ys-web1/src/app/system/manage/companyManage/companyTree/companyTree.component.ts then import that NgModule in CompanyMainModule in D:/Project/ys-web1/src/app/system/manage/companyManage/companyMain/companyMain.module.ts and CompanyTreeModule in D:/Project/ys-web1/src/app/system/manage/companyManage/companyTree/companyTree.Module.ts.

其中CompanyTreeCompant是子组件,CompanyMainComponent为父组件:

// 父组件
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {TranslateModule} from '@ngx-translate/core';
import {NgbDropdownModule} from '@ng-bootstrap/ng-bootstrap';
import { FileUploadModule } from 'ng2-file-upload';
import {CompanyMainRoutingModule} from './companyMain-routing.module';
import {CompanyMainComponent} from './companyMain.component';
import {AppService} from '../../../../app-service';
import {AppProperties} from '../../../../app.properties';
import {ModalModule, PaginationModule, TabsModule} from 'ngx-bootstrap';
import {FormsModule} from '@angular/forms';
import {ReactiveFormsModule} from '@angular/forms';
import {NgxEchartsModule} from 'ngx-echarts';
import {CompanyTreeComponent} from '../companyTree/companyTree.component';

@NgModule({
  imports: [
    CommonModule,
    CompanyMainRoutingModule,
    TranslateModule,
    FileUploadModule,
    PaginationModule.forRoot(),
    ModalModule.forRoot(),
    FormsModule,
    NgbDropdownModule.forRoot(),
    ReactiveFormsModule,
    TabsModule.forRoot(),
    NgxEchartsModule,
  ],
  providers: [AppService, AppProperties],
  declarations: [CompanyMainComponent, CompanyTreeComponent]
})
export class CompanyMainModule {
}
// 子组件

import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {NgxEchartsModule} from 'ngx-echarts';
import {BrowserModule} from '@angular/platform-browser';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {CompanyMainModule} from '../companyMain/companyMain.module';
import {CompanyTreeComponent} from './companyTree.component';

@NgModule({
  imports: [
    CommonModule,
    BrowserModule,
    FormsModule,
    ReactiveFormsModule,
    NgxEchartsModule,
  ],
  providers: [],
  declarations: [CompanyTreeComponent]
})
export class CompanyTreeModule {}

报错原因: 声明了两次CompanyTreeComponent

解决方法: 把子组件的declarations去掉:declarations: [], 然后再imports父模块, imports: [CompanyMianModule]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值