gpt4 book ai didi

angular - 在 TypeScript 中调用 Angular 路由器

转载 作者:太空狗 更新时间:2023-10-29 17:24:19 25 4
gpt4 key购买 nike

我在这样的页面中有一个按钮:

<button [routerLink]="['../edit', 14]">Test</button>

因此,如果我在 http://localhost/dashboard 并单击按钮,我将被重定向到 http://localhost/dashboard/edit/14,这正是我所期望的。

现在我需要在 Typescript 中做同样的事情。我在我的类(class)中注入(inject)了 Router 服务并尝试了以下操作:

this.router.navigate([`../edit/${item.id}`]);

this.router.navigate([`/edit/${item.id}`]);

this.router.navigate([`edit/${item.id}`]);

但没有一个工作,所有这些都将我重定向到我的起始页面,没有错误。

路由器是否需要一些额外的设置?

最佳答案

您需要指定您正在相对于当前路由进行路由。这是如何做到的:

@Component({...})
class ChildComponent {
constructor(private router: Router, private route: ActivatedRoute) {}

go() {
this.router.navigate([`../edit/${item.id}`], { relativeTo: this.route });
}
}

这是 Docs描述 NavigationExtras 类的 relativeTo 属性

关于angular - 在 TypeScript 中调用 Angular 路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41987143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com