После поиска нескольких потоков / вопросов по различным типам маршрутизации в Angular 4 я не могу решить проблему, связанную с передачей queryParams на маршрут Angular 4.
При переходе в URL
http://localhost/search;x=y
через шаблон [queryParams] = {x: 'y'}
<a [routerLink]="/search" [queryParams]="{x: 'y'}">Navigate</a>
или в классе компонентов
this._router.navigate(['/search'], { queryParams: {x: 'y'} });
в результате маршрутизатор выдает ошибку соответствия:
Error: Cannot match any routes. URL Segment: 'search%3Fparam1%3Dtest1%26param2%3Dtest2'
Когда для параметра enableTracing установлено значение true, я вижу, что навигация кодирует подозрительные символы, что, скорее всего, является причиной несоответствия.
У меня есть требование обрабатывать URL-адреса, содержащие queryParams, и анализировать их для вызовов API, поэтому маршрут параметра запроса должен использоваться поверх обязательных или дополнительных параметров.
У кого-нибудь была подобная проблема, и если да, то является ли кодировка основной (кхм) причиной проблемы?
{ path: 'search/:x', component: MyComponent}
. Если нет, то вот ваша ошибка! - person   schedule 01.09.2017