Сам Angular Router обеспечивает наблюдаемый поток.
Вы можете создать охрану маршрута, который подписывается на маршрут, когда событие NavigationEnd
вызывает вашу логику.
constructor(private router: Router) {}
.....
this.router.events
.subscribe((event) => {
if (event instanceof NavigationEnd) {
console.log('NavigationEnd:', event);
}
});
Возможно, стоит прочитать о События маршрутизатора
Предполагая, что piwiki существует в глобальной области видимости, вы можете вызвать его, используя InjectionToken
Я не знаком с этим пакетом вообще, однако что-то вроде:
import { InjectionToken } from '@angular/core';
export const PWIKIPLUGIN = new InjectionToken('PWIKIPLUGIN');
А затем вызовите его с вашим конструктором
constructor(@Inject(PWIKIPLUGIN) private pwikiPlugin) {}
Это даст вам возможность вызывать pwikiPlugin.something()