Ich habe meine Routing wie dieseAngular2 Routing nicht auf leere Route
Ich habe das erste Level-Routing in der App-Modul
const routes: Routes = [
{ path: 'login', component: LoginComponent, },
{ path: 'dash', redirectTo:"dashboard" },
{ path: '**', component: NotFoundComponent }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule],
providers: []
})
Und in der Komponente App einrichten <router-outlet></router-outlet>
i Dann habe ein Dashboard-Modul, wo ich eine andere Routing-Konfiguration als
const dashboardRoutes: Routes = [
{
path: '', //null path to use dashboardtemplate which contains sidebar links
component: DashboardTemplateComponent,
children: [
{
path: 'profile',
component: ProfileComponent,
},
{
path: 'dashboard',
component: DashboardComponent, //dashboard is another component
},
{
path: 'users',
component: UsersComponent,
},
]
}
];
@NgModule({
imports: [
RouterModule.forChild(dashboardRoutes)
],
exports: [
RouterModule
]
})
gesetzt habe Ich habe auch Dashboard-Vorlage Komponente als
@Component({
template: `
<dash-side></dash-side> //sidebar links in the dashboard
<router-outlet></router-outlet>`
})
export class DashboardTemplateComponent implements OnInit {
//here the logic is if a user is loggedin navigate to dashboard else to login
}
Der Grund, warum ich es gesetzt auf diese Weise ist, so dass das Profil und die Benutzer-Komponenten die Sidebar Links gesetzt in der
Das Problem DashboardTemplate component
verwenden können, ist, dass, wenn Profil mit in der Dashboard-Route fällt es immer zurück zu nicht gefundenen Komponente, Wie behebe ich dieses Problem
Es gibt ein Problem mit Ihnen Router-Links, verwenden Sie absolute Pfade oder abstrakte wie zB 'Profil' oder '/ Profil'. Weil der Link sich ändert, wenn Sie dem Router-Link einen Schrägstrich hinzufügen, versuchen Sie, den Text zu verschieben, und sehen Sie sich den Link an, den er an –
weiterleitet. Können Sie auch Ihr app.module teilen? – echonax