Angular 8 маршрутизация непреднамеренно изменяет порядок строк запроса - PullRequest
1 голос
/ 02 июля 2019

Создание приложения с использованием Angular 8 в качестве целевой страницы, которая принимает динамические строки запроса в ссылке перенаправления, которая содержит некоторые ключи строки запроса в виде числа, например: 42=17, например, когда я нажимаю в браузере полную ссылку, как указано ниже:

http://localhost:4200/success?id1=123&42=17&hash=qwertzuiop

Результат : он непреднамеренно изменил последовательность на:

http://localhost:4200/success?42=17&id1=123&hash=qwertzuiop

Ожидается : Для поддержания того же порядка строки запроса, что и мне, необходимо проверить строку хеш-функции в сравнении с исходным URL-адресом, если он был изменен, и, конечно, при изменении последовательности результат хэш-функции изменяется соответственно.


Пример кода :

приложение-routing.module.ts

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { SuccessComponent } from './success/success.component';
import { NotFoundComponent } from './not-found/not-found.component';

const routes: Routes = [
  { path: 'success', component: SuccessComponent },
  { path: '**', component: NotFoundComponent }
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

success.component.ts

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';

@Component({
  selector: 'app-success',
  templateUrl: './success.component.html',
  styleUrls: ['./success.component.scss']
})

export class SuccessComponent implements OnInit {

  constructor(
    private route: ActivatedRoute,
    private router: Router) { }

  ngOnInit() {
    console.log(this.route.snapshot.queryParams);
    // {42: "17", id1: "123", hash: "qwertzuiop"}

    console.log(this.router.routerState.snapshot.url);
    // /success?42=17&id1=123&hash=qwertzuiop
  }
}

Есть подсказка, могу ли я перехватить исходный URL до сопоставления угловых маршрутов и навигации?

...