2013-07-24 12 views
25

Ich konnte keine direkte Antwort darauf finden, was mich zu der Annahme verleitet, dass es wirklich sehr einfach ist. So oder so, hier bin ich.AngularJS Routing Case Sensitivity

Alle Anrufe in meinem $ routeProvider funktionieren gut, aber sind Groß-und Kleinschreibung. Hier ist ein Codebeispiel:

config(function ($routeProvider) { 
    $routeProvider. 
     when('/', { controller: 'TmpCtrl', templateUrl: '/app/home.html' }). 
     when('/foo', { controller: 'TmpCtrl', templateUrl: '/app/foo.html' }). 
     otherwise({ redirectTo: '/' }); 
}); 

Was benötige ich, um hinzuzufügen, dass ‚/ Foo‘, ‚/ foo‘, ‚/ foo‘, etc., die alle auf den gleichen Pfad umleiten?

+0

Vielleicht wäre diese Frage hilfreich sein? http://stackoverflow.com/questions/14994324/angularjs-base-href-case-sensitive –

+0

Es scheint verwandt, aber ich verstehe nicht vollständig, was ich tun muss, um diese Arbeit von mir zu machen. Meine Annahme ist, dass ich ein bestimmtes Skript ziehen und es in meinem Projekt einschließen müsste, aber ich bin nicht sicher, was noch hinzugefügt werden muss. – ThisLanham

Antwort

53

Es gibt eine Option, die Sie $ routeProvider passieren kann Groß- und Kleinschreibung zu wechseln:

config(function ($routeProvider) { 
    $routeProvider. 
     when('/', { controller: 'TmpCtrl', templateUrl: '/app/home.html' }). 
     when('/foo', { controller: 'TmpCtrl', templateUrl: '/app/foo.html', caseInsensitiveMatch: true }). 
     otherwise({ redirectTo: '/' }); 
}); 
+2

Dies funktioniert bei Version 1.2.2. Vielen Dank @John, das sollte als Antwort markiert werden! –

+1

Sie würden denken, dass es eine Konfiguration für $ routeProvider geben würde, um dies zu tun. Ich denke nicht? – RJB

+2

@RJB Es gibt: $ routeProvider.caseInsensitiveMatch = true; – Mathew