#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'])
})
}