Angular 5 - 使用通配符路由

时间:2017-12-11 14:16:32

标签: angular router

我尝试在我的模块中定义一个特定的路线,但我不知道如何管理它:

http://myserver.com/prefix-randomname/mycomponent

randomname是一个带有随机字符的真正随机名称,仅为一个会话生成。我只知道prefix。但我想打开一条通往mycomponent的路线。

最后但并非最不重要的是,我无法删除网址中的prefix-randomname,因为没有它,服务器将无法运行。

1 个答案:

答案 0 :(得分:1)

不完全确定它是否适合您,但您可以使用APP_BASE_HREF常量更改应用初始化时的baseUrl

import {APP_BASE_HREF} from '@angular/common';

export function appBaseFactory(appInitService: AppInitializationService): () => string {
    return (): string => `/${location.pathname.split('/')[1]}`
}

@NgModule({
  // ...,
  providers: [{provide: APP_BASE_HREF, useFactory: appBaseFactory}]
])
export class AppModule {}

我相信这会让你的路由器满意

如果appBaseFactory不起作用,您可能需要将其更改为立即返回location.pathname内容,而不是返回Function