2017-08-17 1 views
0

In meiner Routerkonfiguration habe ich eine DashboardComponent konfiguriert unter dem Pfad 'dashboard' und ich möchte automatisch den Benutzer auf diese Route umleiten, wenn kein Pfad angegeben ist (leerer Pfad, also nur /).Angular ungültige Konfiguration der Hauptroute (leerer Pfad)

Dies ist mein Code:

const appRoutes: Routes = [ 
    { path: '', redirectTo: 'dashboard'}, 
    { path: 'dashboard', component: DashboardComponent }, 
    /* other routes... */ 
]; 

Unhandle Versprechen Ablehnung: Ungültige Konfiguration der Route '{Pfad: "", RedirectTo: "Armaturenbrett"}': bitte 'pathMatch' bieten. Der Standard Wert von ‚pathMatch‘ ist ‚Vorsilbe‘, aber oft die Absicht ist, zu verwenden ‚voll‘

Antwort

1

Das Problem ist das Fehlen der pathMatch Eigenschaft der leeren Route, war die standardmäßig prefix.

const appRoutes: Routes = [ 
    { path: '', redirectTo: 'dashboard', pathMatch: 'full'}, 
    { path: 'dashboard', component: DashboardComponent }, 
    /* other routes... */ 
]; 

Der Grund dafür ist der folgende:

Technisch pathMatch = 'voll' führt zu einer

jedoch in diesem Fall der pathMatch Wert sollte auf full eingestellt werden Routentreffer, wenn die verbleibenden, nicht übereinstimmenden Segmente der URL übereinstimmen. In diesem Beispiel ist die Weiterleitung in einer Route der obersten Ebene, so dass die verbleibende URL und die gesamte URL identisch sind. Der andere mögliche pathMatch-Wert ist 'prefix', der dem Router mitteilt, dass er der Weiterleitungsroute entspricht, wenn die verbleibende URL mit dem Präfixpfad der Weiterleitungsroute beginnt.

Tun Sie das nicht hier. Wenn der pathMatch-Wert 'prefix' wäre, würde jede URL mit '' übereinstimmen.

Weitere Einzelheiten finden Sie in der offiziellen Dokumentation: https://angular.io/guide/router#redirecting-routes

+0

Sie sollten Ihre Antwort markieren als angenommen. –

+0

@AndreiMatracaru Stackoverflow erlaubt mir, meine eigenen Antworten erst nach 2 Tagen zu akzeptieren – ShinDarth

Verwandte Themen