【发布时间】:2019-01-04 02:56:33
【问题描述】:
这是我得到的错误:-
<b>Error: Component Component is not part of any NgModule or the module has not been imported into your module.
Error: Component Component is not part of any NgModule or the module has not been imported into your module.</b>
我希望我的设置模块延迟加载,但出现错误,例如组件不是模块的一部分或模块尚未导入到您的模块中
//This is my app.module.ts
import { BrowserModule, Title } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { ReactiveFormsModule } from '@angular/forms';
import { LeaveService } from './EW_Leave/leave.service';
import { UtilsModule } from './EW_Utils/utils.module';
import { JobReferenceComponent } from '../app/EW_Utils/job-reference/job-reference.component'
import { CommonModule } from '@angular/common';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { EWDashboardComponent } from './EW_Dashboard/ew-dashboard.component';
import { EWLoginComponent } from './EW_Login/ew-login.component';
@NgModule({
imports: [
StorageServiceModule,
CommonModule,
BrowserModule,
FormsModule, ReactiveFormsModule,
AppRoutingModule,
UtilsModule, LeaveModule,
],
declarations: [
AppComponent, JobReferenceComponent, EWDashboardComponent, EWLoginComponent
],
exports: [],
providers: [LeaveService, Title],
bootstrap: [AppComponent]
})
export class AppModule {
}
//这是我的app-routing.module.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { EWDashboardComponent } from './EW_Dashboard/ew-dashboard.component';
import { EWLoginComponent } from './EW_Login/ew-login.component';
import { SetupDashboardComponent } from './EW_Setup/setup-dashboard/setup-dashboard.component';
import {CompaniesSetupComponent} from './EW_Setup/companies-setup/companies-setup.component';
const appRoutes: Routes = [
{ path: 'login', component: EWLoginComponent },
{ path: 'dashboard', component: EWDashboardComponent },
{ path: '', redirectTo: 'login', pathMatch: 'full' },
{ path: 'setup',
loadChildren: './EW_Setup/setup.module#CustomersModule'
},
]
@NgModule({
imports: [RouterModule.forRoot(appRoutes)],
exports: [RouterModule],
declarations: []
})
export class AppRoutingModule {
}
我想延迟加载的以下设置模块
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { CompaniesSetupComponent } from './companies-setup/companies-setup.component';
import { SetupDashboardComponent } from './setup-dashboard/setup-dashboard.component';
import { BusinessUnitSetupComponent } from './business-unit-setup/business-unit-setup.component';
const appRoutes: Routes = [
{ path: '', component: SetupDashboardComponent},
]
@NgModule({
imports: [RouterModule.forChild(appRoutes)],
exports: [],
declarations: []
})
export class SetupRoutingModule {
}
//这是我的 SETUP.MODULE.TS 文件
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { UtilsModule } from '../EW_Utils/utils.module';
import { FormsModule } from '@angular/forms';
import { ReactiveFormsModule } from '@angular/forms';
import { SetupDashboardComponent } from './setup-dashboard/setup-dashboard.component';
@NgModule({
imports: [
CommonModule,UtilsModule,FormsModule,ReactiveFormsModule,NgxSpinnerModule,SharedModule,SetupRoutingModule,Ng2SearchPipeModule,GrowlerModule,TextareaAutosizeModule
],
declarations: [ SetupDashboardComponent, SidebarMenuComponent, CompaniesSetupComponent, BusinessUnitSetupComponent],
providers:[CompaniesSetupService,GrowlerService,CommonApiService],
entryComponents:[]
})
export class SetupModule { }
【问题讨论】:
-
你忘记将 EWdashbardComponent 添加到 NgModule 的声明数组中。尝试将其添加到 AppModule
-
@pixelbits:
EWDashbardComponent声明似乎出现在app.module.ts中。 -
哦..那么我猜你正试图从一个延迟加载的模块中访问它。将其添加到延迟加载的模块声明数组中,而不是在 AppModule 中
-
当我点击懒惰模块按钮时也会出现这个错误
标签: javascript angular angular5 angular6 lazy-loading