Угловая маршрутизационная ссылка, использующая точку с запятой вместо вопросительного знака, url-адрес ведет себя не так, как ожидалось

#angular #url #routes

Вопрос:

У меня в коде есть следующая кнопка:

 <button [routerLink]="['/answerslist', {id: applicant.id} ]" label="View Interview"></button> 
 

Соответствует следующему маршруту:

 { path: 'answerslist', component: AnswersListComponent },
 

Я ожидаю, что URL-адрес появится следующим образом:
http://localhost:4200/answerslist?id=member2

Однако я получаю это при нажатии на кнопку: http://localhost:4200/answerslist;идентификатор=член2

(Точка с запятой вместо знака вопроса)

И в результате код не работает должным образом. Я извлекаю параметр для последующего использования следующим образом:

   getUser(){
    this.activeRoute.queryParams.subscribe(
      (params) => {
        const id = params['id'];
        if (id) { 
          this.currentUser = id;
        }
        else{
          console.log('id not passed'); //this is what currenlty gets printed
        }
      });
  }
 

Поэтому мне нужен способ построить URL-адрес с вопросительным знаком, а не точкой с запятой

Ответ №1:

пожалуйста, попробуйте это

 < button [routerLink]="['answerslist']" [queryParams]="{ id: applicant.id }"></button >
 

более подробную информацию можно найти на https://angular.io/api/router/RouterLink