angular вложенные категории refre sh проблема маршрутизатора - PullRequest
0 голосов
/ 25 марта 2020

У меня есть модуль, который выглядит следующим образом:

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 разными способами, чтобы получить точно такой же результат. Я также предпочел бы перезагрузить компонент, а не страницу.

1 Ответ

0 голосов
/ 26 марта 2020

Оказывается, у меня были некоторые плохие логики c в моей функции loadCategories (). По крайней мере, за два дня исследований я узнал о маршрутизаторах больше, чем нужно!

...