параметры запроса отсутствуют в URL в угловых 6 - PullRequest
0 голосов
/ 18 октября 2019

Введенный URL-адрес не отображает параметры запроса в URL-адресе.

Я указал путь к моему маршруту как:

{ path: 'userdetails/:id', component: userdetailscomponent}

И мой URL-адрес должен работать как

https://www.(site).com/userdetails?id=5.

Но URL-адрес работает следующим образом:

https://www.(site).com/userdetails

Параметры запроса не отображаются при непосредственном открытии URL-адреса в браузере. Параметры запроса исчезают, и URL идет на основной маршрут без параметра запроса. Как я могу заставить работать параметр запроса, и есть ли какой-нибудь способ получить потерянные параметры запроса?

1 Ответ

0 голосов
/ 21 октября 2019

Попробуйте этот тип подхода. пример stackblitz

Используйте этот способ для параметров запроса

{ path: "userdetails", component: UserDetailsComponent}

В вашем машинописном файле

import {ActivatedRoute} from '@angular/router';

userId;
constructor(private activatedRoute: ActivatedRoute) { }

ngOnInit() {
  this.activatedRoute.queryParams.subscribe(params => {
    this.userId = params['id'] || 0;
  });
}

В вашем HTML-файле

<div *ngIf="userId; else userDetail">
   <h2>User Details for the user with id {{userId}}</h2>
</div>

<ng-template #userDetail>
   User Details Component
</ng-template>

Как использовать это

Here sends query param id value as 15
<a [routerLink]="['/userdetails']" [queryParams]="{ id: 15}">User Details 
 with query parameter</a>

Without query parameters 
<a [routerLink]="['/userdetails' ]">User Details</a>
...