我知道这是一个常见问题,但实际上我没有找到任何答案来满足我的需求......
我有一个angular5
应用,其路由配置如下:
const routes: Routes = [
{ path: 'businessaccountmanagement', component:BusinessAccountManagementComponent },
...
];
根据UrlSerializer
documentation我已经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
};
所以在这个实现中,一切都运行良好,因为所有url案例都会转换为小写并与path: 'businessaccountmanagement'
匹配
但是,我需要的是将我的路线声明为upper camel case
,如下所示:
const routes: Routes = [
{ path: 'BusinessAccountManagement', component:BusinessAccountManagementComponent },
...
];
并接受与字符串匹配的所有路由,无论字母大小写上下
接受的路线示例:
**我的应用程序中的旧版本是带有ui-route的角度1.x,并且可以在代码行中执行:
$urlMatcherFactory.caseInsensitive(true);
任何帮助都会非常合适。