Проблема в том, как вы получаете текущий маршрут. В последней версии angular Router не возвращает простой объект. Вместо этого он возвращает наблюдаемое с различными событиями перенаправления. Маршрутизатор не переходит непосредственно к целевому URL, он проходит по указанному пути для достижения целевого URL.
Вы можете использовать приведенный ниже код, чтобы получить текущий маршрут и сохранить его в переменной, а затем сравнить его в своем шаблоне.
currentURL:any;
constructor(private router: Router){
this.router.events.filter((res) => res instanceof NavigationEnd).subscribe((res) => {
this.currentURL = this.router.url;
});
}
также импортируйте NavigationEnd поверх вашего кода
import { Router, NavigationEnd } from '@angular/router';
Приведенный выше код гарантирует, что вы получите только последний (целевой) URL-адрес всего цикла перенаправления.