1.- Для одного маршрута:
Вы можете просто выполнить свою функцию в onInit()
-функции вашего Компонента:
import { Component, OnInit } from '@angular/core';
@Component({
})
export class YourComponent implements OnInit {
constructor() { }
ngOnInit() {
//your code here
}
}
Каккак только вы перейдете к маршруту, ваша функция будет выполнена. Обратите внимание, что ваш маршрут должен быть добавлен к вашей маршрутизации:
const routes: Routes = [
{path: 'youRoute', component: YourComponent}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {
}
2.- Та же функция нескольких маршрутов
Если вы хотите выполнить один и тот же код длянесколько маршрутов вы можете прослушать изменения маршрута. Розетка вашего роутера должна выглядеть так:
<router-outlet (activate)="routeChange()"></router-outlet>
А в вашем компоненте:
constructor(public route: Router) {}
myRoutes: string[] = ['/tools', '/home'];
routeChange() {
if (this.myRoutes.some(e => e === this.route.url)) {
console.log('execute');
} else {
console.log('dont execute');
}
}