Router events
import { EventAggregator } from 'aurelia-event-aggregator';
import { RouterEvent, NavigationInstruction } from 'aurelia-router';
export class App {
static inject = [EventAggregator];
constructor(private ea: EventAggregator) {
ea.subscribe(RouterEvent.Processing, (event: { instruction: NavigationInstruction }) => {
console.log('Navigation started', event.instruction);
// Show loading indicator
});
ea.subscribe(RouterEvent.Complete, (event: { instruction: NavigationInstruction }) => {
console.log('Navigation completed', event.instruction);
// Hide loading indicator
});
ea.subscribe(RouterEvent.Success, (event: { instruction: NavigationInstruction }) => {
console.log('Navigation succeeded', event.instruction);
// Track page view
});
ea.subscribe(RouterEvent.Error, (event: { instruction: NavigationInstruction, result: any }) => {
console.error('Navigation failed', event.instruction, event.result);
// Show error message
});
}
}Last updated
Was this helpful?