说,我有一个带有多值参数的URL,如:
http://my-domain.com?param1=aaa¶m1=bbb
activatedRoute.snapshot.queryParams
将等于:{ param1: ['aaa', 'bbb'] }
- 具有两个param1值的对象。
到目前为止一切顺利。现在,我想修改其中一个值。使用“普通”,单值参数,我用
router.navigate(['.'], { queryParams: { param: 'newValue' }}
但是,尝试使用值数组时:
router.navigate(['.'], { queryParams: { param1: ['aaa', 'ccc'] }}
它不会产生?param1=aaa¶m1=ccc
,而是产生?param1=aaa,ccc
。
问题是:如何导航到?param1=aaa¶m1=ccc
只修改单个参数的多个值中的一个?
我希望有一个更好的选择,即自己构建整个网址并使用router.navigateByUrl
...?
最终我可以重写它以使用逗号分隔的param1=aaa,ccc
表示法,但我想避免使用它。
ng版本是2.4.9
感谢您的建议。