У меня есть модуль, который выглядит следующим образом:
Categories-routing.module.ts *
const routes: Routes = [
{ path: '', component: CategoriesComponent }, // this path does not reload
{ path: 'new', component: CategoryFormComponent, canActivate: [AuthGuard, EmailGuard] },
{ path: 'edit/:id', component: CategoryFormComponent, canActivate: [AuthGuard, EmailGuard] },
{
path: 'category', redirectTo: '',
children: [
{
path: '**',
component: CategoriesComponent
}
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class CategoriesRoutingModule { }
И Categories.component.ts
@Component({
selector: 'app-categories',
templateUrl: './categories.component.html',
styleUrls: ['./categories.component.scss']
})
export class CategoriesComponent {
public categories!: Observable<any>;
constructor(
private nav: NavbarService,
public cs: CategoryService,
private route: ActivatedRoute,
private router: Router
) {
this.router.routeReuseStrategy.shouldReuseRoute = () => false;
}
ngOnInit() {
this.categories = this.route.data.pipe(
switchMap(() => {
return this.cs.loadCategories();
})
);
}
Навигация по каталогам работает нормально, однако, когда я go на путь '', он не перезагружается и отображает только последний путь. Я пытался подписаться на активированный маршрут и c разными способами, чтобы получить точно такой же результат. Я также предпочел бы перезагрузить компонент, а не страницу.