angular7 - Angular 6 如何返回父级然后在 router.navigate() 中返回子级

标签 angular7 angular-router

您好,我有父组件“订单”和两个子组件“历史记录”和“订单”。当前网址为 order/history/id我想返回“订单”组件 like order/orders/id所以我在我的应用程序中使用 Router。

this.router.navigate(['../../orders', orderId]); 

按照How do I navigate to a parent route from a child route?中的建议在历史组件中但它显示cannot match any routes url segment orders/7y6786解决这个问题的最佳方法是什么?谢谢。

最佳答案

当您在组件内使用导航时,您可以使用 ActivatedRoute 服务。

所以在你的历史组件中,尝试这样做:

constructor(
  private route: ActivatedRoute,
  private router: Router
) {}

navigateToOrders() {
  this.router.navigate(['orders', orderId], { relativeTo: this.route.parent })
}

关于angular7 - Angular 6 如何返回父级然后在 router.navigate() 中返回子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54885963/

相关文章:

Angular:在每次导航中调用 ngOnInit()

angular - NativeScript-Angular -> app.component.ts 中的 ActionBar 路由变化时不一致

angular - 如何从服务中获取 url 的参数

angular - 从 Angular 5 升级到 Angular 7 后,找不到 'AppModule' 的 NgModule 元数据

javascript - 路由参数在守卫中不可用

angular - 将服务的两个不同实例传递给组件的两个不同实例,一个通过路由器导出,一个通过 MatDialog

javascript - 在 AngularJS 中通过状态链路由的正确方法是什么?

angular - Chart.js 错误 : type lacks a call signature '((...items: number[]) => number) | ((...items: ChartPoint[]) => number)' in Angular

javascript - 在 Angular 7 中提交后,手动为输入赋值不会影响 'ngForm.value'

angular7 - Microsoft Edge 身份验证弹出窗口