Angular маршрутизатор не восстанавливает или не обновляет sh страницу при переходе к тому же компоненту. Другими словами, переход к тому же компоненту не вызовет конструктор компонента или функцию ngOnInit.
После этого я предлагаю вам сделать следующее:
Сначала создайте * Функция 1005 *, в которой вы будете выполнять refre sh logi c вашего компонента.
Во-вторых, вы можете выполнять эти init()
функции двумя способами:
- Используйте функцию
init()
в вашей подписке на службу данных (где вы используете навигацию с помощью параметра)
return this.dataService
.putData(this.formData)
.pipe(
tap(res => {
console.log(res.publicId)
if (res.publicId) {
this.authService.setPublicId(res.publicId);
this._router.navigate([], {
relativeTo: this._route,
queryParams: {
publicId: res.publicId
},
queryParamsHandling: 'merge',
skipLocationChange: true,
});
console.log(this._router.url);
this.init(); // <----------------- here you'll call the init function
}
this.isStepCompleted = true;
})
ИЛИ
2. Вставьте ActivatedRoute
в конструктор компонента и используйте его для подписки на изменения параметров запроса, где вы будете выполнять функцию init()
.
constructor(private activateRoute: ActivatedRoute) {
activateRoute.params.subscribe(params => {
this.init()
// here you'll get the parameter like this: params['publicId']);
})
}