在angular app中使用router.snapshot和routerLink来获取url

时间:2017-09-27 22:39:48

标签: javascript angular typescript url routerlink

我正在尝试处理我的Angular应用程序中的情况,其中我通过routerLink加载了一些内部链接(一个部分中的链接 - 使用与应用程序其余部分不同的导航机制)。这本身就足够好了,看起来像这样:

route.snapshot

但是,由于我首先设置了这些链接,我们现在有一些过滤器选择,我们也将保存在URL中。所以我想弄清楚如何将这些传递到这里。我认为Angular的<a [routerLink]="['/section-start', getParams()]" routerLinkActive="selected">Section Start</a> 可以在这里工作。我正在尝试这个:

getParams()

getParams() { return this.route.snapshot; } 看起来像这样:

getParams()

这让我更接近......然而,我仍然最终加倍了主网址链接(这并不奇怪,因为它正在拍摄整个网址链接的快照),并说,如果我有a&#34;西班牙语&#34;语言过滤器启用后,地址栏中的网址最终如下所示:

http://somesite.com/section-start;url=section-start%3Bpn_lang_e%3Dtrue%3Bpn_lang_s%3DSpanish;

然而,使用我常用的网站其他区域的路由机制,相同的参数会产生这样的网址(这就是它应该是什么样的):

http://somesite.com/section-start;pn_lang_e=true;pn_lang_s=Spanish

由于我通过传入{{1}}接近正确的网址,我认为我可以通过不同的方式清理它/解析它以获得正确的网址字符串。关于我如何做到这一点的任何想法 - 或者是否有更好的方法与此不同?

0 个答案:

没有答案