Angular router.navigate使用数组作为queryParams列表

时间:2019-07-16 18:31:13

标签: angular query-parameters

在构建带有以下形式的queryParams对象之后,我正在导航:

options {
    ...
    words: (4) ["chuck", "norris", "vs", "keanu", "reeves"]
}

然后navigate与该对象一起更新URL的参数:

this.router.navigate(['/search'], { queryParams: options });

对于每个条目,URL words参数都是这样的:

/search?words=chuck&words=norris&words=vs&words=keanu&words=reeves

我们如何正确地传递数组queryParams

链接: angular.io/api/router/Router#navigate alligator.io/angular/query-parameters

queryParamsHandling对此没有影响。 这是StackBlitz复制。

1 个答案:

答案 0 :(得分:-1)

您正在按照正确的方式进行操作,只需在/search组件中使用params.getAll

words: string[];

constructor(private route: ActivatedRoute) {
}

ngOnInit() {
  this.route.queryParamMap.subscribe(params => this.words = params.getAll('words'));
}


更新:关于堆栈闪电的有效示例:angular-query-params-pass-array