Angular 5 - 带通配符的路由
Angular 5 - routing with wildcard
我尝试在我的模块中定义一个特定的路由,但我不知道如何管理它:
http://myserver.com/prefix-randomname/mycomponent
randomname
是一个真正的随机名称,带有随机字符,只为一个会话生成。我只知道prefix
。但是我想开一条通往mycomponent
.
的路线
最后但同样重要的是,我无法删除 url 中的 prefix-randomname
,因为没有它服务器将无法工作。
不完全确定它是否适合您,但您可以在应用程序初始化时使用 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
不起作用,您可能希望将其更改为立即 return location.pathname
内容,而不是 return 一个 Function
我尝试在我的模块中定义一个特定的路由,但我不知道如何管理它:
http://myserver.com/prefix-randomname/mycomponent
randomname
是一个真正的随机名称,带有随机字符,只为一个会话生成。我只知道prefix
。但是我想开一条通往mycomponent
.
最后但同样重要的是,我无法删除 url 中的 prefix-randomname
,因为没有它服务器将无法工作。
不完全确定它是否适合您,但您可以在应用程序初始化时使用 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
不起作用,您可能希望将其更改为立即 return location.pathname
内容,而不是 return 一个 Function