我知道这是一个常见的问题,但实际上我没有找到满足我需求的任何答案......
我有一个angular5像这样的路由配置的应用程序:
const routes: Routes = [
{ path: 'businessaccountmanagement', component:BusinessAccountManagementComponent },
...
];
Run Code Online (Sandbox Code Playgroud)
根据UrlSerializer文件我已经DefaultUrlSerializer像这样扩展:
import { DefaultUrlSerializer, UrlTree, UrlSerializer } from '@angular/router';
export class LowerCaseUrlSerializer extends DefaultUrlSerializer {
parse(url: string): UrlTree {
return super.parse(url.toLowerCase());
}
}
export const LowerCaseUrlSerializerProvider = {
provide: UrlSerializer,
useClass: LowerCaseUrlSerializer
};
Run Code Online (Sandbox Code Playgroud)
所以在这个实现中一切都工作得很好因为所有url案例将转换为小写并匹配 path: 'businessaccountmanagement'
但是,我需要的是宣布我的路线是upper camel case这样的:
const routes: Routes = [
{ path: 'BusinessAccountManagement', component:BusinessAccountManagementComponent },
...
];
Run Code Online (Sandbox Code Playgroud)
并接受所有匹配字符串的路由,无论字母大小写
接受的路线示例: