typescript Angular路由器:获取给定路由的完整URL

lp0sw83n  于 2023-06-30  发布在  TypeScript
关注(0)|答案(2)|浏览(175)

鉴于我的Angular应用程序在https://www.somewebsite.com/some-path/my-app/中运行
我举几个例子:
https://www.somewebsite.com/some-path/my-app/my-route-1
https://www.somewebsite.com/some-path/my-app/my-route-2
在应用程序内部,给定一个特定的路由,例如my-route-1,是否有一个Angular Router或类似的方法可以返回完整的URL https://www.somewebsite.com/some-path/my-app/my-route-1
例如,在我的情况下,这样的方法:
this.router.getUrlOfRoute('my-route-1')
返回https://www.somewebsite.com/some-path/my-app/my-route-1
换句话说,navigate()通常对:
this.router.navigate(['/my-route-1'])
将用户重定向到https://www.somewebsite.com/some-path/my-app/my-route-1
如果我只想以字符串的形式获取URL而不是触发实际的导航,该怎么办?

l7wslrjt

l7wslrjt1#

constructor(private router: Router) {
  console.lgo(router.url);
}

这将给予你路由器的URL,只需添加location.origin之前,你应该是好的
另外,您可以简单地使用location.href来使其充满,但我想您并不希望这样

zbwhf8kr

zbwhf8kr2#

您可以尝试使用Router的createUrlTree方法,然后将结果传递给serializeUrl

相关问题