小编Bas*_*mar的帖子

Angular 5:URL不区分大小写

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

我有一个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)

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

接受的路线示例:

  • 域/ BusinessAccountManagement
  • 域/ businessaccountmanagement …

case-sensitive angular angular-router

7
推荐指数
0
解决办法
2840
查看次数

标签 统计

angular ×1

angular-router ×1

case-sensitive ×1