简体   繁体   English

Angular2 中的 router.navigate 和 router.parent.navigate 有什么区别?

[英]What is the difference between router.navigate and router.parent.navigate in Angular2?

Actually I want to know the difference between router.navigate(['User']) and router.parent.navigate(['User']) .其实我想知道router.navigate(['User'])router.parent.navigate(['User'])之间的区别。 In my Angular2 project act same things for both.在我的 Angular2 项目中,两者都做同样的事情。

thanks advance提前致谢

You try to navigate to the route defined in the current router ( router.navigate(['User']) or to a one defined in the parent router ( router.parent.navigate(['User']) ).您尝试导航到当前路由器中定义的路由( router.navigate(['User'])或父路由器中定义的路由( router.parent.navigate(['User']) )。

As a matter of fact, you can define several levels of routes.事实上,您可以定义多个级别的路由。 If the User route is defined in the route config associated with the router, router.navigate(['User']) will work.如果在与路由器关联的路由配置中定义了User路由,则router.navigate(['User'])将起作用。 If it's in the route config associated with the parent router, router.parent.navigate(['User']) will work.如果它在与父路由器关联的路由配置中,则router.parent.navigate(['User'])将起作用。

For example, if you have two levels and want to navigate to the root level, you can use this:例如,如果您有两个级别并且想要导航到根级别,则可以使用以下命令:

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

Example例子

  • In the AppComponent component (application component):AppComponent组件(应用程序组件)中:

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

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

In this case, router.parent.navigate(['User']) will work for components defined in routes of the SubComponent component (for example: TestComponent ).在这种情况下, router.parent.navigate(['User'])将适用于在SubComponent组件的路由中定义的组件(例如: TestComponent )。 router.navigate(['User']) will work for components defined in routes of the AppComponent component (for example: OtherComponent ). router.navigate(['User'])将适用于AppComponent组件的路由中定义的组件(例如: OtherComponent )。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM