使用 navigateByUrl 时,queryParams 未反映在 URL 中

queryParams are not reflected in URL while using navigateByUrl

在我的组件中,当我尝试

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 Documentation 表示 NavigationExtras 对象对于 navigatenavigateByUrl 都是相同的。)

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

作为解决方法,您可以试试这个

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