我想知道是否有一种方法可以在调用navigate
方法时获取Angt的路由器生成为的URL。
例如:this._router.navigate(['browse'], { queryParams: { section: 'users', isActive: true } });
可能会导致导航到/browse#?section=users&isActive=true
如何在不执行导航或在浏览器中更新URL的情况下获得此路线?
最佳答案
看看 createUrlTree
:
this._router.createUrlTree(
['browse'], { queryParams: { section: 'users', isActive: true } });
返回的对象
UrlTree
具有toString
函数,该函数应为您提供所需的内容。您可以从source中看到
navigate
实际上在内部使用createUrlTree
:navigate(commands: any[], extras: NavigationExtras = {skipLocationChange: false}):
Promise<boolean> {
validateCommands(commands);
return this.navigateByUrl(this.createUrlTree(commands, extras), extras);
}
关于angular - 获取将由router.navigate生成的URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47796031/