Не удалось получить параметры из динамического URL-адреса в Angular2

Я пытаюсь создать маршрут под названием «событие» с параметром event_id в URL-адресе.

модуль маршрутизации приложений имеет это

{ path: 'event/:event_id', component: EventComponent },

Компонент пытается получить event_id из URL-адреса, используя активированный маршрут.

import { ActivatedRoute, Params } from '@angular/router';
export class EventComponent implements OnInit {
  event: JSON;
  id: String;
  constructor(private route: ActivatedRoute) {
  }
  ngOnInit() {
    this.route.queryParams.subscribe(params => {
      console.log('that kind of madness can\'t be undone');
      console.log(params['event_id']); // checking result
    })
  }

console.log(params['event_id']) в результате дает пустой объект.


person Flyn Sequeira    schedule 12.12.2017    source источник
comment
вы используете routeParams, и если вам нужно использовать queryParams, у вас должно быть определение относительного маршрута   -  person Aravind    schedule 12.12.2017
comment
Возможный дубликат Как получить параметр на маршруте Angular2 в Angular способ?   -  person Jota.Toledo    schedule 12.12.2017
comment
Существует три разных способа использования параметров маршрутизации, и синтаксис каждого из них немного отличается. Поэтому важно понимать, какой тип параметра вам нужен, и использовать весь синтаксис, подходящий для этого типа. См. краткую информацию о типах и синтаксисе здесь: отправка данных с навигацией по маршруту в angular 2"> stackoverflow.com/questions/44864303/   -  person DeborahK    schedule 12.12.2017


Ответы (1)


:eventId не является параметром запроса, он принадлежит параметру маршрута, поэтому проверьте params Observable на текущем маршруте активации.

this.route.params.subscribe(params => {
  console.log('that kind of madness can\'t be undone');
  console.log(params['event_id']); // checking result
})
person Pankaj Parkar    schedule 12.12.2017