Я хотел бы обновить данные, снова направив их на тот же маршрутизатор.Angular не активирует функцию компонента ngOnInit, когда есть вторая (или более) маршрутизация к текущему активированному маршруту.Я хотел бы включить обновление данных на компоненте всякий раз, когда он маршрутизируется (даже если это уже активированный маршрут).Я знаю, что для этого есть несколько методов, но я бы хотел использовать метод RouterEvent и
NavigationEnd. Я знаю, что мне нужно установить onSameUrlNavigation в RouteModule.По какой-то причине я не могу достичь желаемого сценария.См. Мой код: это событие, которое сработало при нажатии на кнопку (дважды щелкнув по кнопке, необходимо дважды перейти к одному и тому же компоненту):
openMapTool(item: MapToolsItem)
{
this.router.navigate([{ outlets: { <Name of router outlet>: ['SomePath', { param1: value1}] }}],);
return false;
}
Это компонент (см. Ниже - «SomeComponent»)), который связан с путем «SomePath» - компонент, который должен быть маршрутизирован дважды:
ngOnInit() {
this.subs.push(this.route.events.pipe(
filter(e => e instanceof RouterEvent && e instanceof NavigationEnd),
).subscribe(e =>
{
this.doSomething(e.paramMap);
}));
Это модуль, содержащий путь к «SomePath»:
const routes: Routes = [
{ path: 'SomePath', component: SomeComponent, outlet: 'SomeRouterOutlet'}];
@NgModule({
imports: [
RouterModule.forChild(routes),
RouterModule.forRoot(routes, {onSameUrlNavigation:'reload'})]})
Спасибо за вашу помощь