2016-03-24 16 views

回答

1

你嘗試導航到當前路由器(router.navigate(['User'])router.parent.navigate(['User']))在母路由器定義的一個(

由於事實上規定的路線,你可以定義幾個層次路線。如果User路由與路由器相關的路由配置定義,router.navigate(['User'])會工作。如果它與母路由器相關的路由配置,router.parent.navigate(['User'])會奏效。

舉例來說,如果你有兩個層次,並希望導航到的根級別,則可以使用此:

router.navigate(['/User']); 

  • AppComponent組分(應用組件):

    @RouteConfig([ 
        { 
        path: '/sub/...', 
        name: 'SubComponent', 
        component: SubComponent, 
        useAsDefault: true 
        }, 
        {path: '/user', name: 'User', component: UserComponent} 
        {path: '/other', name: 'Other', component: OtherComponent} 
    ]) 
    
  • SubComponent組件中:

    @RouteConfig([ 
        {path: '/test', name: 'Test',  component: TestComponent} 
    ]) 
    

在這種情況下,將router.parent.navigate(['User'])SubComponent組分(:TestComponent例如)的路線定義的組件工作。 router.navigate(['User'])將適用於AppComponent組件的路由中定義的組件(例如:OtherComponent)。

+0

如果我爲'TestComponent'使用'router.navigate(['User'])'而不是'router.parent.navigate(['User'])'將會發生什麼? –