Доступ: свойство id из модуля маршрутизатора Angular - PullRequest
0 голосов
/ 25 мая 2020

Странный вопрос, но можно ли получить доступ к свойству: id из самого модуля маршрутизации angular? У меня есть маршрут с дочерним элементом (например, test /: id), и я пытаюсь использовать свойство: id из пути для установки атрибута title в разделе данных моего дочернего маршрута. Это возможно? Будет ли это что-то вроде установки переменной для текущего URL-адреса и использования этой переменной в качестве заголовка? Заранее спасибо!

Ответы [ 3 ]

0 голосов
/ 25 мая 2020

От вашего ребенка вы можете получить доступ к: id от родителя следующим образом:

constructor(private activatedRoute: ActivatedRoute) {
}

const id  = this.activatedRoute.parent.snapshot.params['id'];
0 голосов
/ 25 мая 2020

Два вышеуказанных подхода, приведенные в качестве ответа, будут работать, но если вы измените идентификатор в URL-адресе, находясь на том же маршруте, они потерпят неудачу. Используйте вместо этого.

constructor(private routeSnapshot: ActivatedRouteSnapshot) {
}
public routeSubscription: Subscription;
public id: any
ngOnInit() {
   this.routeSubscription = this.routeSnapshot.paramMap.subscribe((dataMap) => {
        this.id = dataMap.get('id');
   });
}
ngOnDestroy() {
  if(this.routeSubscription) {
   this.routeSubscription.unsubscribe();
  }
}
0 голосов
/ 25 мая 2020

Попробуйте это

 constructor(private route: ActivatedRoute) {}
 const id  = this.route.snapshot.params['id'];
...