导航到路线的标准方法是
this.router.navigate(["/details", "30"]
使用以下路由配置:
{ path: "details/:id", component: TestRouteComponent }
我班级的构造函数是
constructor(private router: Router, private route: ActivatedRoute) { }
我想要做的只是更新当前路线的id
。
像
这样的东西this.route.params.id = 10;
然后导航到该路线
this.router.navigate(this.route);
角度路由是否可行?
答案 0 :(得分:2)
您无法操纵params
,因为这是Observable
。
你可以这样做:
router.navigate(['..', 2], { relativeTo: route });
这两个点表示您向上移动一级。
from `welcome/1` to `welcome`
之后,您的参数将附加到路线上。
但我想知道是否有更好的方法来简单地更改参数。
答案 1 :(得分:0)
我是对的,当路径的参数发生变化时,你想对组件内部的变化做出反应吗?
如果是,您不想触发新导航。
您只需订阅params
的更改。
constructor(private route: ActivatedRoute) {
this.route.params.subscribe(params => {
/* access updated params and trigger further actions */
}
}
现在,如果您有多个链接(例如routerLink)指向您的组件只有不同的参数,路由器将检测到不需要激活新路由。
因此,您可以订阅params
或paramMap
。
paramMap为您提供了更多控制权,可以访问路线的某些参数。