Не удается получить доступ к параметрам в ActivatedRoute

#angular #service #routes

#angular #Обслуживание #маршруты

Вопрос:

У меня есть вспомогательный модуль маршрутизации с таким маршрутом:

 path: 'zoneslist/desktop/:zoneid
  

Я пытаюсь получить доступ к zoneid из службы. Я всегда получаю null или undefined.

Учитывая этот конструктор:

 constructor(private route: ActivatedRoute){}
  

Я попробовал следующие решения:

 this.route.snapshot.paramMap.get('zoneid')
this.route.snapshot.params['zoneid']
this.route.snapshot.params.zoneid
this.route.params.subscribe(
    (params: Params) => {
         console.log(params.get('id))
    }
);
  

Почему я получаю null или undefined?

Ответ №1:

Я думаю, вы не можете получить параметры маршрута в своем сервисе. Вы должны подписаться на них в ngOnInit в вашем компоненте, а затем передать их в качестве параметра в функции из вашего сервиса

Комментарии:

1. Так что, нет «более чистого способа» сделать это?

2. это настолько чисто, насколько это возможно