Reputation: 2134
I am working on Angular7 application and getting a strange error that my Component 'x' is not part of any NgModule or the module has not been imported into your module.
Group Module:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { GroupRoutingModule } from './group-routing.module';
import { GroupComponent } from './group/group.component';
import { GroupListComponent } from './group-list/group-list.component';
@NgModule({
declarations: [
GroupComponent,
GroupListComponent
],
imports: [
CommonModule,
FormsModule,
GroupRoutingModule
],
exports: [
GroupComponent,
GroupListComponent
]
})
export class GroupModule { }
User Module:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { CorrCommonModule } from '../../../common/common.module';
import { FormsModule } from '@angular/forms';
import { UserComponent } from './user/user.component';
import { UserRoutingModule } from './user-routing.module';
@NgModule({
declarations: [
UserComponent
],
entryComponents: [
],
imports: [
CommonModule,
FormsModule,
UserRoutingModule
],
exports: [
UserComponent
]
})
export class UserModule { }
Both of these modules are then added in Security module which is lazy loaded module.
Security Module:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule} from '@angular/forms';
import { SecurityRoutingModule } from './security-routing.module';
import { UserModule } from './components/user/user.module';
import { GroupModule } from './components/group/group.module';
@NgModule({
declarations: [
],
entryComponents: [
],
exports: [
],
imports: [
CommonModule,
FormsModule,
SecurityRoutingModule,
GroupModule,
UserModule
],
providers: []
})
export class SecurityModule {}
User-Routing Module:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { UserComponent } from './user/user.component';
import { GroupListComponent } from '../group/group-list/group-list.component';
const Routes: Routes = [
{
path: 'user',
component: UserComponent
},
{
path: 'group',
component: GroupListComponent
}
];
@NgModule({
imports: [RouterModule.forChild(Routes)],
exports: [RouterModule]
})
export class UserRoutingModule { }
Now when I use GroupListComponent in User-Routing module, I am getting the issue that Component is not part of any NgModule or the module has not been imported into your module
EDIT
This module also use similar approach but there isn't such issue.
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { CountryComponent } from './country/country.component';
import { CurrencyListComponent } from '../currency/currency-list/currency-list.component';
import { SetupLogComponent } from '../log/setup-log/setup-log.component';
import { RegionListComponent } from '../region/region-list/region-list.component';
import { CityPlaceListComponent } from '../city-place/city-place-list/city-place-list.component';
const Routes: Routes = [
{
path: 'country',
component: CountryComponent
},
{
path: '', pathMatch: 'full',
component: CountryDetailComponent
},
{
path: 'region',
component: RegionListComponent
},
{
path: 'currency',
component: CurrencyListComponent
},
{
path: 'cityplace',
component: CityPlaceListComponent
}];
@NgModule({
imports: [RouterModule.forChild(Routes)],
exports: [RouterModule],
declarations: []
})
export class CountryRoutingModule { }
EDIT 2: A part of code from app route
{path: 'security', loadChildren: './modules/security/security.module#SecurityModule', data: { preload: true }},
{path: 'setup', loadChildren: './modules/setup/setup.module#SetupModule', data: { preload: true }},
Upvotes: 1
Views: 4455
Reputation: 17397
Now when I use GroupListComponent in User-Routing module, I am getting the issue that Component is not part of any NgModule or the module has not been imported into your module
Your UserRoutingModule doesn't import the GroupModule
ence why you cannot use it.
@NgModule({
imports: [GroupModule, RouterModule.forChild(Routes)],
exports: [RouterModule]
})
export class UserRoutingModule { }
Upvotes: 1