单击第一个routerLink不起作用,但是单击后其他任何链接都起作用

时间:2019-06-06 14:25:16

标签: angular

我有一个Angular应用程序,该应用程序在页面上列出了routerLinks列表。首次加载页面时,单击任何这些链接都会正确更改地址栏中的URL,但不会发生页面加载。

但是,单击另一个链接会起作用,并且可以正确导航到正确的目的地。

此问题仅在首页加载时发生。如果在初始页面加载后重新加载页面,一切正常。

链接:

<a [routerLink]="['/organizations/', organization.id]" *ngFor="let organization of myOrganizations">
    <h4>{{organization.name}}</h4>
</a>

路由器定义:

...
{
    path: 'organizations/:organizationId',
    component: OrganizationComponent,
    canActivate: [
      TokenGuard,
      IframeCaptureGuard,
      AuthGuard,
    ],
    data: {
      legacyUrl: '/#/dashboard/:organizationId',
    },
    children: [
      {
        path: 'reports/docs',
        redirectTo: 'reports/docs/info',
        canActivate: [
          TokenGuard,
          IframeCaptureGuard,
          AuthGuard,
        ],
        data: {
          legacyUrl: '/#/docreports/:organizationId',
        },
      },
    ]
  },
...

1 个答案:

答案 0 :(得分:0)

尝试在pathMatch: 'full'下添加path: 'organizations/:organizationId'