使用NavigationByUrl时,queryParams不会反映在URL中

时间:2019-08-10 09:20:00

标签: angular angular-router

在组件中,当我尝试

this.router.navigate([`/courses/`, course.id], {queryParams:{description: course.description}});

导航后,URL具有description个查询参数。

但是,当我尝试这个时,

this.router.navigateByUrl(`/courses/${course.id}`, {queryParams:{description: course.description}});

URL内没有description查询参数。

使用navigateByUrl时是否需要进行更改以在URL内反映我的查询参数? (但是,Angular DocumentationNavigationExtrasnavigate的{​​{1}}对象是相同的。)

1 个答案:

答案 0 :(得分:1)

navigateByUrl方法似乎忽略了查询参数,并且文档不够清楚。请查看这些链接以获取更多信息:link 1 link 2

作为解决方法,您可以尝试

this.router.navigateByUrl(
  this.router.createUrlTree(
    ['some/route'], {queryParams: myParamObject}
  );
);