在Angular 4路由器中强制执行queryParameters

时间:2017-09-05 11:24:17

标签: angular routing query-parameters

我正在尝试使用此语法按照此处接受的答案使用queryParams进行导航:Sending data with route.navigate in Angular 2

this.router.navigate(['add', { queryParams: { type: $event.value } }], { relativeTo: this.route });

然而不是: .../add?type=someEventValue

这导致可选参数(又名矩阵表示法)

.../add;queryParams=%5Bobject%20Object%5D

我做错了什么?有没有办法在Angular 4.3.x路由器中强制执行旧式搜索参数?

2 个答案:

答案 0 :(得分:0)

如果您向根路线添加可选参数,您将获得?param=value,如果将其添加到子路线,您将获得;param=value

Angular需要这个来区分哪些路径参数属于。

答案 1 :(得分:0)

queryParams对象应该是调用navigate函数时传递的第二个参数的一部分。

您应该执行以下操作:

this.router.navigate(['add'], { queryParams: { type: $event.value }, relativeTo: this.route });