角路由器queryParamsHandling:'保留'不起作用

时间:2018-09-20 09:07:52

标签: angular angular-ui-router

我正在使用以下navigate通话:

this.router.navigate([''], { queryParamsHandling: 'preserve' });

当我使用/?timeout = true调用我的应用程序时,queryParams被删除。 如果我使用手动解析通过它们,那么它会起作用:

const url = window.location.href;
const params = url.indexOf('?') !== -1 ? url.slice(url.indexOf('?') + 1)
                  .split('&')
                  // tslint:disable:no-any
                  .reduce((params: any, param) => {
                      const [key, value] = param.split('=');
                      params[key] = value ? decodeURIComponent(value.replace(/\+/g, ' ')) : '';
                      return params;
                  }, {}) : {};
this.router.navigate([''], params);

我在这里想念什么?

1 个答案:

答案 0 :(得分:0)

它被我不知道的导航卫士覆盖。现在,通过更改初始导航的方式并在我之前写的QueryParamService之前对其进行了修复。