Angular2路由器使用多值查询参数进行导航

时间:2017-04-29 20:09:38

标签: angular angular2-routing

说,我有一个带有多值参数的URL,如:

http://my-domain.com?param1=aaa&param1=bbb

activatedRoute.snapshot.queryParams将等于:{ param1: ['aaa', 'bbb'] } - 具有两个param1值的对象。

到目前为止一切顺利。现在,我想修改其中一个值。使用“普通”,单值参数,我用

router.navigate(['.'], { queryParams: { param: 'newValue' }}

但是,尝试使用值数组时:

router.navigate(['.'], { queryParams: { param1: ['aaa', 'ccc'] }}

它不会产生?param1=aaa&param1=ccc,而是产生?param1=aaa,ccc

问题是:如何导航到?param1=aaa&param1=ccc只修改单个参数的多个值中的一个? 我希望有一个更好的选择,即自己构建整个网址并使用router.navigateByUrl ...?

最终我可以重写它以使用逗号分隔的param1=aaa,ccc表示法,但我想避免使用它。

ng版本是2.4.9

感谢您的建议。

0 个答案:

没有答案