角度无法在零路径上找到组件

时间:2017-05-15 12:15:37

标签: javascript angular angular2-routing

当我访问我的页面而没有任何子网址(又名路径:'')时,我收到以下错误:

Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'login'

但是,如果我点击一个链接,它会将我重定向到/(outside:login),它会按预期工作。 如何在路径''上使用此选项?

链接我点击以使其在没有网址段时生效:

  <a [routerLink]="['/', {outlets: {'outside': 'login'}}]" routerLinkActive="active">Login</a>

路由器:

RouterModule.forRoot([
  {
            path : 'bank',
            component: BankComponent,
            outlet: 'regular'
        },
          {
            path: '',
            redirectTo : 'login' ,
            pathMatch: 'full',
          },
          {
            path: 'login',
            component: LoginhandlerComponent,
            outlet: 'outside'
          },
])

显示:

<div *ngIf="user.username">
                  <a [routerLink]="['/', {outlets: {'regular': 'druglab'}}]" routerLinkActive="active">Druglab</a>


    <div>
    <router-outlet name="regular"></router-outlet>
    </div>
</div>
<div *ngIf="loggedin == false">
                  <a [routerLink]="['/', {outlets: {'outside': 'login'}}]" routerLinkActive="active">login</a>


// other things
    <div>
    <router-outlet name="outside"></router-outlet>
    </div>
</div>

app.component.ts for /

loggedin = false;
user = {};
    this.CoreService.reloadUserData().subscribe((value) => {
      if (value.user) {
        this.user = value.user;
        this.loggedin = true;

      }
    });

如何在不使用网址段/路径时自动转到登录模块?

1 个答案:

答案 0 :(得分:0)

看起来语法有点改变了。我有一个重定向工作到这样的命名出口:

      {
        path: '',
        redirectTo: '/(outside:login)',
        pathMatch: 'full'
      },
      {
        path: 'login',
        component: LoginhandlerComponent,
        outlet: 'outside'
      },