angular ящик с матом в качестве контента? - PullRequest
0 голосов
/ 11 февраля 2020

Я ломаю свой мозг, пытаясь понять, как сделать эту работу.

У меня есть такая структура в app.component. html:

<mat-drawer-container >
    <mat-drawer mode="side" opened>
      <mat-accordion>
        <mat-expansion-panel *ngFor="let tab of tabs">
          <mat-expansion-panel-header
            class="list-option"
            [routerLink]="['/', tab.path\]" 
            routerLinkActive
            #rla="routerLinkActive"
          >
            <mat-panel-title>
              {{ tab.title }}
            </mat-panel-title>
          </mat-expansion-panel-header>

          <router-outlet *ngIf="rla.isActive" name="primary"></router-outlet>
        </mat-expansion-panel>
      </mat-accordion>
    </mat-drawer>

    <mat-drawer-content>
      <router-outlet name="sec"></router-outlet>
    </mat-drawer-content>


Идея этой начальной части состоит в том, что, когда я нажимаю на одну из вкладок, она загружает маршрут и другой список вкладок, который появляется в расширяемой области. После этого я могу щелкнуть один из элементов в недавно загруженном списке, и он должен загрузить свое содержимое во второй маршрутизатор-розетку.

Но я не могу заставить его работать ...

Модуль app.routing конфигурируется следующим образом:

const appRoutes: Routes = [
  {
    path: '',
    redirectTo: '/live-view',
    pathMatch: 'full'
  },
  {
    path: live-view,
    loadChildren: './live-view/live-view.module#LiveViewModule',
    canActivate: [AuthGuard]
  }
];

Тогда у представления в реальном времени есть собственный модуль маршрутизации для вторичного устройства. розетка:

const routes: Routes = [
  {
    path: '',
    component: LiveViewComponent,
    children: [{ path: 'map/:mapId', component: MapComponent, outlet: 'sec' }]
  }
];

Когда я нажимаю одну из опций в режиме live-view, я получаю эту ошибку:

Cannot match any routes. URL Segment: 'live-view/map/5d471bea281ead2d6507c3d5'

Я пытался добавить при выходе по ссылке кликаем, поэтому она меняется с [routerLink]="[item.url]" на [routerLink]="[{outlets: {sec: [item.url]}}]"; но если я делаю это, я получаю Cannot match any routes. URL Segment: 'live-view', и я не понимаю, почему это происходит.


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

Есть идеи, пожалуйста? Я умираю здесь ...

Спасибо и всего наилучшего.

...