3

我在 Angular 中使用哈希定位策略

路由.module.ts

@NgModule({ 
imports: [
   RouterModule.forRoot(routes, { useHash: true })
 ],
 exports: [
    RouterModule
  ]
})

app.module.ts

@NgModule({
    providers: [{ provide: LocationStrategy, useClass: HashLocationStrategy }]
})

我正在使用此 URL 从其他应用程序路由到我的 Angular 应用程序

HTTP://localhost:4200?param_x=xyz&param_y=abc

我想在我的应用程序中获取这些参数的值,我该怎么做?

我尝试使用激活的路由快照和订阅,两者都给我空值。

4

1 回答 1

2

请使用片段参数打开您的客户端。

片段参数是 # 之后的参数 - 也称为客户端参数,因为它们没有发送到服务器。

HTTP://localhost:4200?#hash_param_x=xyz&hash_param_y=abc

然后通过以下方式访问它们:

this.activatedRoute.snapshot.queryParams

HashLocationStrategy 获取散列(片段/客户端)参数并将它们插入到查询参数中。由于您没有任何参数,因此您看不到任何参数。

于 2020-08-18T06:41:04.610 回答