angular - 为什么当我单击使用 routerLink 和 queryParams 构建的链接时没有任何反应?

标签 angular

我在 Angular 4.0.0 SPA 中有一些导航链接,它们仅因查询字符串而异。我像这样构建它们:

  <!-- MONTH -->
  <li class="right">
    <a [routerLink]="[]" [class.active]="insights.interval===2" queryParamsHandling="merge" [queryParams]="{range: 'MONTH'}">
      <span>M<strong>MONTH</strong></span>
    </a>
  </li>

  <!-- WEEK -->
  <li class="right">
    <a [routerLink]="[]" [class.active]="insights.interval===1" queryParamsHandling="merge" [queryParams]="{range: 'WEEK'}">
      <span>W<strong>WEEK</strong></span>
    </a>
  </li>

如果我将鼠标悬停在这些链接上,它们看起来是正确的:

/insights/brand/5889cdfea7eb8f0e7c56bc9f?range=MONTH
/insights/brand/5889cdfea7eb8f0e7c56bc9f?range=WEEK

但是当我点击它们时,什么也没有发生。未到达组件中设置的断点。

如何调试路由器并找出没有任何反应的原因?

我可以不在这里传递任何内容吗?

[routerLink]="[]"

这是路由,以防万一:

@NgModule({
  imports: [
    RouterModule.forChild([
      {
        path: 'insights',
        component: InsightsComponent,
        canActivate: [User],
        children: [
          {
            path: 'brand/:id',
            component: InsightsBrandComponent
          },
          {
            path: 'brand-item/:id',
            component: InsightsBrandItemComponent
          },
          {
            path: 'item/:id',
            component: InsightsItemComponent
          },
          {
            path: 'venue/:id',
            component: InsightsVenueComponent
          }
        ]
      }
    ])
  ],
  exports: [RouterModule]
})
export class InsightsRoutingModule { }

[编辑]

这是路由器调试:

console screenshot

最佳答案

查看路由发生情况的一种方法是打开路由跟踪。我这里有一个例子:https://github.com/DeborahK/Angular-Routing

    RouterModule.forRoot([
        { path: 'welcome', component: WelcomeComponent },
        { path: '', redirectTo: 'welcome', pathMatch: 'full' },
        { path: '**', component: PageNotFoundComponent }
    ], { enableTracing: true })

关于angular - 为什么当我单击使用 routerLink 和 queryParams 构建的链接时没有任何反应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43618663/

相关文章:

angular - 使用 typeof 定义类型

angular - 如何在 Angular 中检测 Ctrl+S 快捷键?

angular - 使用 FileSaver 和 blob 将响应正文另存为文件

angular - 为什么我应该在简单的对象配置上使用 Angular 的依赖注入(inject)?

html - 是否可以真正禁用现代浏览器密码字段的自动填充和自动完成功能?

angular - 在客户端 Angular 应用程序中访问动态生成的服务器端环境变量

Angular Material 日期选择器 - 仅选择日期

angular - 如何在 Angular 2 组件中添加背景图像?

javascript - Angular 2 - 顺序 HTTP 请求

javascript - TypeScript 包含流程