Ну, после того как я проследил ваш код, это происходит потому, что просто подписка предназначена для event
, а не route
(Конечно, наименование не имеет значения, только семантика).
Таким образом, последнее событие, которое запускается в цикле навигации, это scrollEvent
, который не содержит ключ url
, что приводит к неопределенности.
Я думаю, вам нужно будет проверить тип события, которое должно иметь тип NavigationEnd
, выполнив что-то вроде этого:
this.route.events.subscribe((event)=>{
if(event instanceof NavigationEnd){
this.path = (event as any).url;
}
})
Редактировать :
Вот журнал, чтобы понять, что именно я имел в виду, последнее событие (или, фактически, может быть любым событием в более крупном приложении), может не содержать свойство url
:
