Перейдите к дочернему маршрутизатору из названной розетки - PullRequest
1 голос
/ 24 июня 2019

Я пытаюсь открыть расширенный элемент в некоторой сетке компонентов, которые отображаются внутри именованного выхода. Для этой цели я создал дочерние элементы для моего именованного выходного пути.

Я использую Angular 7 и уже попробовал некоторые руководства из других постов. Также возможно сделать это, просто указав другой выход.

Маршрутизация

{
  path: 'my-path',
  outlet: 'view',
  component: MyComponent,
  data: {
    animation: 'bottom-left-scale'
  },
  children: [
  {
    path: 'project',
    component: ExpandedProjectComponent
  }]
}    

в html :

<app-project [id]="project.id" [thumbnail]="project.thumbnail" [name]="project.name" [routerLink]="[{outlets: { view: 'my-path/project' }}]">
</app-project>    

Но при попытке перейти к нему выдается ошибка,

ОШИБКА Ошибка: Uncaught (в обещании): Ошибка: не удается сопоставить ни один маршрут. Сегмент URL: «my-path».

Использование трассировки показывает это так - url: "/(view:my-path/(view:my-path/project))", где проект должен быть расширен элемент. Как я могу перейти к чему-то вроде /(view:my-path/project) или /(view:my-path)/project?

1 Ответ

0 голосов
/ 25 июня 2019

Итак, попытка выполнить это из директивы routerLink не удалась.Но использование router.navigate работает.


app.routing.ts остается прежним.


ExpandedProjectComponent

openProject(id) {
    this.router.navigate('project', {relativeTo: this.route});
}
...