Angular 5:URL不区分大小写

时间:2018-01-19 15:46:17

标签: angular case-sensitive angular-router

我知道这是一个常见问题,但实际上我没有找到任何答案来满足我的需求......

我有一个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 },
    ...
];

并接受与字符串匹配的所有路由,无论字母大小写上下

接受的路线示例:

  • 域/ BusinessAccountManagement
  • 域/ businessaccountmanagement
  • 域/ BUSINESSACCOUNTMENEGEMENT
  • ...

**我的应用程序中的旧版本是带有ui-route的角度1.x,并且可以在代码行中执行:

$urlMatcherFactory.caseInsensitive(true);

任何帮助都会非常合适。

0 个答案:

没有答案
相关问题