web-dev-qa-db-fra.com

Erreur lors de l'implantation de loading paresseux dans angular 8:: Erreur d'affirmation: NGMODULE 'myReportsGridComponent' n'est pas un sous-type de 'ngmoduletype'

J'ai lu certains articles ne semblant pas à mettre en œuvre la période de chargement paresseux mon application. J'ai =angular 8 8 installé et il semble que j'ai la syntaxe droite. Existe-t-il une stratégie ou une manière spécifique, j'ai besoin de mes composants organisés pour que les chargeurs paresseux fonctionnent?

Ceci est le message d'erreur:

core.js:7187 ERROR Error: Uncaught (in promise): Error: ASSERTION ERROR: NgModule 'MyReportsGridComponent' is not a subtype of 'NgModuleType'.
Error: ASSERTION ERROR: NgModule 'MyReportsGridComponent' is not a subtype of 'NgModuleType'.

dans mon application.Routing.Module.ts Où est ce que j'ai:

const routes: Routes = [
  {path: '', component:LoginComponent},
  {path: 'Login', component:LoginComponent},
  {path: 'tasks', component:TaskComponent, canActivate:[AuthGuard]},
  {path: 'CreateTask', loadChildren: () => import ('./create-task/create-task.component').then(m => m.CreateTaskComponent), canActivate:[AuthGuard]},
  {path: 'ManageUser', loadChildren: () => import ('./manage-users/manage-users.component').then(m => m.ManageUsersComponent), canActivate:[AuthGuard]},
  {path: 'MyReports', loadChildren: () => import ('./my-reports-grid/my-reports-grid.component').then(m => m.MyReportsGridComponent), canActivate:[AuthGuard]},
  {path: 'CreateTeamName',loadChildren: () => import ('./create-new-team-name/create-new-team-name.component').then(m => m.CreateNewTeamNameComponent), canActivate:[AuthGuard]},
  {path: 'ManageTeams',loadChildren: () => import ('./manage-teams/manage-teams.component').then(m => m.ManageTeamsComponent), canActivate:[AuthGuard]},
  { path: '**', component: PageNotFoundComponent },
  {path: 'Register', component:RegisterComponent}
];

@NgModule({
  imports: [RouterModule.forRoot(routes, { useHash: true, enableTracing: false, initialNavigation: true, onSameUrlNavigation: 'ignore' })],
  exports: [RouterModule]
})
export class AppRoutingModule { }

Aucune suggestion?

6
elquesogrand

J'ai exactement cette erreur lorsque j'ai défini le bootstrap en tant qu'appmodule au lieu de définir AppComponent.

Cela m'est arrivé parce que je faisais quelques tests. Mauvaise erreur.

1
AFetter

Vous essayez celui-ci et laissez-moi savoir son travail ou non je vous mettrai à jour

Gridmodulename son nom de classe de module

{
path: 'myreports',
loadChildren: './my-reports-grid/my-reports-grid.component#GridModuleName',
data: {
  pageTitle: 'MyReports'
 }
}
1
Mokka soru

Il y a deux erreurs communes possibles

Lorsque vous chargez le composant au lieu de module ou inversement, cette erreur vient.

1. Chargement du composant au lieu de module I.e.

{
   path: 'login',
   loadChildren: () => import('./login.module').then(m => m.LoginComponent) // mistake
}

2. Chargement du module au lieu de composant I.e.

{
   path: 'login',
   component: LoginModule // mistake
}
0
WasiF

Vous utilisez component in loadChildren, vous devez utiliser module au lieu de composant.

Supprimer le composant d'importation.

{path: 'CreateTask', loadChildren: () => import ('./create-task/create-task.component').then(m => m.CreateTaskComponent), canActivate:[AuthGuard]},

Module d'importation, comme celui-ci.

{path: 'CreateTask', loadChildren: () => import ('./create-task/create-task.module').then(m => m.CreateTaskModule), canActivate:[AuthGuard]},
0
Sonu Kumar Singh