【发布时间】:2021-08-14 05:46:36
【问题描述】:
我正在尝试使用不同的参数路由到当前页面但无济于事。 我有一个触发组合框:
this.router.navigate(['page', selectedId]);
网址正在改变,但仅此而已。
如何使用不同的参数路由到同一页面?
【问题讨论】:
-
你还想要什么? URL 更改是路由的预期行为...
-
试试
navigate(['../', selectedId], { relativeTo: route }),其中route是ActivatedRoute -
谢谢@peeskillet,不幸的是这没有用。我得到了同样的行为,网址正在改变,但页面没有刷新。
-
网址是否设置为您期望的网址?您是否检查过控制台是否有任何错误?如果它们没有任何错误,可能需要一个 plunker 来测试它
-
Pardeep 的回答是:
But it only change your URL if you really want to load some methods then you have to call them manually导致了我几分钟前遇到同样问题时使用的解决方法。我的解决方法是创建到同一组件的镜像路由。如果实际路由匹配(this.router.url.match('/firstroute/'))与第一个镜像路由,我重定向到第二个镜像路由(this.router.navigate('/secondroute', params)),否则我重定向到第一个。是的,我知道,这是解决这个问题的一种非常丑陋的方式......它有效,但它是一种丑陋的方式:)