Угловой: несколько выходов маршрутизатора - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь добавить несколько выходов маршрутизатора в мое приложение без какой-либо удачи. Ниже мой код

app.routing.module.ts

import { NgModule }             from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import {LoginComponent} from './login/login.component';
import {DashboardComponent} from './dashboard/dashboard.component';
import { AuthenticationGuardService } from './service/AuthenticationGuardService';
import { HomeComponent } from './home/home.component';
import { SearchComponent } from './search/search.component';

const routes:Routes = [
  { path: 'login', component: LoginComponent},
  { path: '', redirectTo: '/login', pathMatch: 'full' },
  { path: 'home', component: HomeComponent },
  { path: 'dashboard', component: DashboardComponent, outlet: 'viewport' /*, canActivate: [AuthenticationGuardService]*/ },
  { path: 'search', component: SearchComponent, outlet: 'viewport'}
];

@NgModule({
  exports: [ RouterModule ],
  imports: [RouterModule.forRoot(routes)]
})
export class AppRoutingModule {}

home.component.ts

<ul class="menu-list">
  <li (click)="navigate($event, 'dashboard')" class="data-menu-option-selected">DASHBOARD</li>
  <li (click)="navigate($event, 'search')">SEARCH</li>
  <li (click)="navigate($event, 'reports')">PDIF REPORTS</li>
  <li (click)="navigate($event, 'apps')">PENNDOT APPS</li>
</ul>
....
....
<div class="viewport-body">
  <router-outlet name="viewport"></router-outlet>
</div>
....
....

home.component.ts

private navigate(event, path):void {

    if(this.previousSelection != null) {
      this.previousSelection.removeAttribute('class');
    }
    event.target.setAttribute('class', 'data-menu-option-selected');
    this.previousSelection = event.target;

    // this.router.navigate([{outlets: {primary: 'home', viewport: path}}]);

    this.router.navigate([{ outlets: { viewport: [ path ] }}]);
    // this.router.navigateByUrl('/home(viewport:dashboard)');
  }

Я использую угловой 5.2.11, а версия модуля маршрутизации - 5.2.11.

Когда я нажимаю на элемент списка, URL меняется с http://localhost:4200/home на http://localhost:4200/home(viewport:dashboard), но в названной розетке маршрутизатора ничего не отображается.

Я также не вижу ошибок в консоли.

Может кто-нибудь сказать мне, что мне не хватает?

EDIT: Я пытаюсь разработать экран, как показано ниже. Когда пользователь нажимает на любой элемент списка с левой стороны, соответствующий элемент должен открываться в правом разделе. enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...