Angular 5 避免特定路由的 HashLocationStrategy

Angular 5 avoid HashLocationStrategy for specific route

在我的 angular 5 应用程序中,我有多个路由。我在 app.module.ts 文件的提供者中添加了 { provide: LocationStrategy, useClass: HashLocationStrategy }。但我想从特定路线中删除此 HashLocationStrategy

谢谢。

长话短说,你不能。原因由文档和您声明路由策略的方式推断:

A LocationStrategy used to configure the Location service to represent its state in the hash fragment of the browser's URL.

它已提供(如服务),无法挂钩注入并在运行时提供多个注入选项(如果路径类似于……则注入这个或另一个)。依赖注入是在模块初始化期间设置的,我知道没有办法解决这个问题。

然后我们可以从 Location 服务的目的推断出来,它只是一个,是根据策略创建相对 url,它采用提供的策略并在应用程序范围内使用它。