有没有办法判断Angular 8中的RouterModule useHash是否设置为true?

问题描述

我正在为自己的工作开发一个库,该库允许其他开发团队使用我们的一些Angular组件并传入自己的配置。其中之一是RouterModule。

我在我们的库中找到了一些代码,需要确定它们是否在模块的配置中启用了useHash: true参数。

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

我真正需要做的就是查看它是否设置为true或false或null,但是我一直在梳理文档并搜索Google并感到困惑。

我尝试了一些简单的操作,但是这当然行不通。

constructor(private route: ActivatedRoute,private router: Router,private module: RouterModule) {
   console.log(router.useHash)
}

有人知道这有可能吗?

解决方法

答案来晚了,但可能对某人仍然有用。

constructor(private platformLocation: PlatformLocation) {
}

useHash() {
  return this.platformLocation.hash?.indexOf('#') > -1;
}