其實我想知道router.navigate(['User'])
和router.parent.navigate(['User'])
之間的區別。在我的Angular2項目中,兩者的作用相同。Angular2中的router.navigate和router.parent.navigate有什麼區別?
感謝推進
其實我想知道router.navigate(['User'])
和router.parent.navigate(['User'])
之間的區別。在我的Angular2項目中,兩者的作用相同。Angular2中的router.navigate和router.parent.navigate有什麼區別?
感謝推進
你嘗試導航到當前路由器(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
)。
如果我爲'TestComponent'使用'router.navigate(['User'])'而不是'router.parent.navigate(['User'])'將會發生什麼? –