Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度9动态路线_Angular_Typescript - Fatal编程技术网

Angular 角度9动态路线

Angular 角度9动态路线,angular,typescript,Angular,Typescript,首先,对不起,我的英语说得不好,但我会尽力解释我自己! 我在Angular 9中创建了一个电子商务,该电子商务的路径如下所示,每一条路径最后都带有.html我指向一个我称之为路由器重定向的组件,当我进入该组件时,我调用电子商务api传递相关url,然后它返回,如果该url是一个类别,一个产品,一篇文章。。有了这个答案,我重定向到正确的组件 问题是,在某些情况下,如类别页面,我需要在URL中保留一些查询字符串,如pageIndex和orderby,但angular不显示查询字符串,因为在进行导航时

首先,对不起,我的英语说得不好,但我会尽力解释我自己! 我在Angular 9中创建了一个电子商务,该电子商务的路径如下所示,每一条路径最后都带有
.html
我指向一个我称之为路由器重定向的组件,当我进入该组件时,我调用电子商务api传递相关url,然后它返回,如果该url是一个类别,一个产品,一篇文章。。有了这个答案,我重定向到正确的组件

问题是,在某些情况下,如类别页面,我需要在URL中保留一些查询字符串,如pageIndex和orderby,但angular不显示查询字符串,因为在进行导航时,我放置了
skipLocationChange:true
,因为我无法更改URL,并且需要保留查询字符串

我只在用户想要与其他人共享url时才需要它

我如何使用导航方法的示例:

this.router.navigate(['categoria-listagem'], {
      skipLocationChange: true,
      queryParams: { page: 1, order: 'novidades' }
});
如果有人知道更好的重定向方法,或者知道如何保留查询字符串,即使使用skipLocationChange,这也会救我


提前感谢您。

听起来您应该添加为“合并”或“保留”(取决于您的要求),例如

这会将新的查询参数添加到URL中已有的任何查询参数中


此外,您可能还需要删除
skipLocationChange
,这取决于您需要的功能。

Hi@Guilherme-您是否解决了问题?嗨,还没有。。。。我想我必须用一个警卫来代替一个部件重新布线。如果我设法得到它的权利,我会张贴在这里!我认为路由器重定向应该是一个服务而不是一个组件,但很难说没有看到更多的代码。一般来说,这听起来是一个相当复杂的路由方法,但祝你好运!
this.router.navigate(['categoria-listagem'], {
  skipLocationChange: true,
  queryParams: { page: 1, order: 'novidades' },  
  queryParamsHandling: "merge"
});