首页 > 解决方案 > 子路由重定向到主路由

问题描述

我创建了一个子路由来接收产品 ID 并显示其详细信息,但该路由无法正常工作,并且不显示任何错误消息

这是路由模块的打印:

这是路由模块的打印:

运行 ng 为应用程序提供服务,但是当我进入类别并选择某个产品以查看详细信息时,我被重定向回主页:

这里和按类别的产品可视化

当我按下查看产品详细信息时,我被重定向到主页

在此处输入图像描述

标签: angulargoogle-cloud-firestore

解决方案


您需要使用完整路径,相对路径是参考组件加载时的路径计算的,因此,任何动态都将与加载时间相关,因此您当前的路径将是''/producto.id,因此它重定向到/home

如果您可以访问类别 ID,请使用如下:(当然,我猜categorias.id

routerLink="/home/categorias/{{categorias.id}}/{{producto.id}}

做相关事情的其他方法是使用一个函数,让我们说goToProductDetails()并通过点击按钮调用它。<button (click)="goToProductDetails()">

goToProductDetails() {
  this.router.navigate([producto.id], { relativeTo: this.activeRoute });
}

您将需要一个构造函数,例如:

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

推荐阅读