Обновить компонент после router.navigateByUrl на тот же URL с разными параметрами

#angular #url #router #reload

#angular #url #маршрутизатор #перезагрузите

Вопрос:

У меня есть маршрутизатор <router-outlet></router-outlet> , который включает в себя следующий маршрут:

{ путь: ’employee/:id’, компонент: EmployeeComponent }

Поскольку компонент EmployeeComponent уже находится внутри маршрутизатора-розетки с конкретным сотрудником, я делаю следующее в своем коде: this.router.navigateByUrl('/employee/' this.employee2);

URL изменяется, но компонент не выполняет метод ngOnInit() с новым сотрудником, и содержимое не обновляется. Мне нужно создать экземпляр нового компонента EmployeeComponent с использованием компонента EmployeeComponent, уже установленного на моем маршрутизаторе, или обновить существующий. Как это можно исправить?

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

1. ИМО, вам следует использовать ActivatedRoute

Ответ №1:

Необходимо ввести «ActivatedRoute» и подписаться на параметры

 constructor(route:ActivatedRoute){
      route.params.subscribe(val=>{ 
       //    add to do function()
      })
   }
  

Ответ №2:

Вы можете использовать AcitvatedRoute .

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

constructor(private route: ActivatedRoute) { }
  

Используя параметры

 ngOnInit(){
  this.route.params.subscribe(param=>{
    console.log( params['id'])
  })
}