Comme le titre l'indique, je n'ai pas réussi à rediriger vers le composant du fichier direct par défaut. Lorsque j'essaie de visiter localhost:4200, il ne navigue jamais vers localhost:4200/workbench appRoutingModule:
const routes: Routes = [
{path:'', redirectTo:'/workbench', pathMatch:'full'},
{path:'**', component:PageNotFoundComponent}
];
homeRoutingModule :
const routes: Routes = [
{
path:'',
component:HomeComponent,
children:[
{path:'workbench',component:WorkbenchComponent},
]
}
];
app.Moudule :
imports: [
...
HomeModule,
AccountModule,
AppRoutingModule,
],
Est-ce que quelqu'un a cette expérience et sait comment y remédier ? Merci!
Un routage approprié serait le suivant :
Module d'application :
@NgModule({
imports: [
...,
AppRoutingModule
]
})
export class AppModule { ... }
AppRoutingModule:
const routes: Routes = [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent, children: homeRoutingRoutes },
{ path: '**', component: PageNotFoundComponent
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export
AccueilRoutageModule
export const homeRoutingRoutes: Routes = [
{ path: '', redirectTo: 'workbench', pathMatch: 'full' },
{ path:'workbench', component: WorkbenchComponent }
]
Alors, qu'est-ce qui ne fonctionne pas entre le code d'origine et celui-ci ?
Il n'y a pas d' path: 'workbench'
enregistrement dans AppRoutingModule . S'il n'y a pas de chemin enregistré, Angular poussera toujours la navigation vers l' path: '**'
itinéraire.
Si vous souhaitez rediriger directement vers le , path: 'workbench
vous devez le déclarer dans le AppRoutingModule , pas dans un enfant en dessous, comme ceci :
AppRoutingModule:
const routes: Routes = [
{ path: '', redirectTo: 'workspace', pathMatch: 'full' },
{ path: 'workbench', component: WorkbenchComponent },
{ path: '**', component: PageNotFoundComponent
];
Notez que cela signifie que le HomeComponent n'est plus nécessaire.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots