我已经尝试了[routerLink]的所有可能的语法,我似乎无法让它工作 . 这是我的路线:

const ROUTES = [
  {
    path: '',
    redirectTo: 'home',
    pathMatch: 'full'
  },
  {
    path: 'home',
    component: HomeComponent
  },
  {
    path: 'sign-in',
    component: SignInComponent,
    outlet: 'signin'
  },
  {
    path: 'register',
    component: RegisterComponent
  },
  {
    path: 'projects',
    component: ProjectsComponent
  }
];

主模板有:

<header class="header">
<header class="header">
    <h1>{{ title }}</h1>
    <utility-navigation></utility-navigation>
    <navigation></navigation>
    <router-outlet name="signin"></router-outlet>
</header>
<main>
    <router-outlet></router-outlet>
</main>

此链接将组件弹出到“登录”插座:

<a class="nav-link" [routerLink]="[{ outlets: { signin: ['sign-in'] } }]">Sign in</a>

此链接清空“登录”插座并路由到主插座中的“注册”组件:

<a class="nav-link" [routerLink]="[{ outlets: { primary: ['register'], signin: null } }]">Register</a>

但我希望当前位于 /register 路由的用户能够单击链接转到 /home 并在辅助插座中看到'sign-in'路由 . 我试过了:

<a [routerLink]="[{ outlets: { primary: 'home', signin: 'sign-in' }}]">

<a [routerLink]="[{ outlets: { primary: ['home'], signin: ['sign-in'] }}]">

<a [routerLink]="[{ outlets: { primary: 'home', signin: ['sign-in'] }}]">

<a [routerLink]="['/home', { outlets: { signin: ['sign-in'] }}]">

而且它们都会导致“无法匹配任何路线”的错误 . 我知道'登录'路线有效,因为当我点击上面的“登录”链接时,我看到了它 . 任何建议,将不胜感激 .