2017-03-03 6 views
4

Ich habe die folgende Route Konfiguration auf Standard aber ich erhalte den Fehler Invalid configuration of route 'tenant': redirectTo and children cannot be used togetherAngular Redirect Kind Ansicht

Sobald ich/Mieter klickte ich möchte irgendwie Inhalte sowohl Mieter von Audit gefolgt zeigen? Ist das möglich ? Mein Mieter URL sieht wie folgt aus http://localhost:8080/#/tenant

{ 
      path: 'tenant', 
      redirectTo: '/tenant/(view:audit)', 
      pathMatch: 'full', 
      component: TenantComponent, 
      data: { 
       authorities: ['ROLE_USER', 'ROLE_ADMIN'], 
       pageTitle: 'tenant.home.title' 
      }, 
      children: [ 
       { 
        path: 'audit', 
        component: PacketDataComponent, 
        data: { 
         authorities: ['ROLE_USER', 'ROLE_ADMIN'], 
         pageTitle: 'tenant.home.title' 
        }, 
       } 
      ] 
     } 

Antwort

20

Sie eine leere Kind Route stattdessen verwenden können:

{ 
    path: 'tenant', 
    component: TenantComponent, 
    children: [ 
     { 
      path: '', 
      pathMatch: 'full', 
      redirectTo: 'audit' 
     }, 
     { 
      path: 'audit', 
      component: PacketDataComponent, 
      data: { 
       authorities: ['ROLE_USER', 'ROLE_ADMIN'], 
       pageTitle: 'tenant.home.title' 
      }, 
     } 
    ] 
} 
+0

du bist der beste –

+0

@Alimohammadi danke, Gern geschehen bro :) –

1

Heres mein Setup, die ..

bei
import {RouterModule, Routes} from '@angular/router'; 
import {Route1Component} from './routes/route1/route1.component'; 
import {Route1DetailComponent} from './routes/route1/detail/route1-detail.component'; 
import {Route1ListComponent} from './routes/route1/list/route1-list.component'; 
import {Route2Component} from './routes/route2/route2.component'; 

const routes: Routes = [ 
    { 
    path: 'route1', 
    component: Route1Component, 
    children: [ 
     {path: ':id', component: Route1DetailComponent}, 
     {path: '', component: Route1ListComponent} 
    ] 
    }, 
    {path: 'route2', component: Route2Component}, 
    { 
    path: '', 
    pathMatch: 'prefix', 
    redirectTo: '/route1' 
    } 
]; 

export const routing = RouterModule.forRoot(routes); 

Projekt scheint zu funktionieren .. https://github.com/danday74/angular2-coverage/blob/master/app/app.routes.ts .. wenn Sie einen Sack um

haben möchten

Heres ein anderer ..

import {RouterModule, Routes} from '@angular/router'; 

import {ParentRouteComponent} from './routes/parent-route/parent-route.component'; 
import {ChildRoute1Component} from './routes/parent-route/child-route-1/child-route-1.component'; 
import {ChildRoute2Component} from './routes/parent-route/child-route-2/child-route-2.component'; 
import {HomeComponent} from './routes/home/home.component'; 
import {PageNotFoundComponent} from './routes/page-not-found/page-not-found.component'; 

export const routes: Routes = [ 
    { 
    path: 'parent', 
    component: ParentRouteComponent, 
    children: [ 
     { 
     path: '', 
     component: ChildRoute1Component, 
     }, 
     { 
     path: ':id', 
     component: ChildRoute2Component, 
     data: { 
      title: 'My title' 
     } 
     } 
    ] 
    }, 
    { 
    path: '', 
    component: HomeComponent 
    }, 
    { 
    path: '**', 
    component: PageNotFoundComponent 
    } 
]; 

export const routing = RouterModule.forRoot(routes); 

aus genommen ..

https://github.com/danday74/angular2-router-simple/blob/master/app/app.routes.ts

Hier die ** Route der Rückfall und sollte zuletzt aufgeführt werden.