2013-07-24 11 views
25

Nie byłem w stanie znaleźć prostej odpowiedzi na to pytanie, co prowadzi mnie do przekonania, że ​​jest to naprawdę bardzo proste. Tak czy siak, oto ja.AngularJS Routing Case Sensitivity

Wszystkie połączenia w moim $ routeProvider działają świetnie, ale rozróżniane są małe i wielkie litery. Oto przykładowy kod:

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

Co muszę dodać, że tak '/ Foo', '/ foo', '/ foo', etc, wszystko przekierować do tej samej ścieżce?

+0

Może to pytanie byłoby pomocne? http://stackoverflow.com/questions/14994324/angularjs-base-href-case-sensitive –

+0

Wygląda na to, że jest powiązany, ale nie do końca rozumiem, co muszę zrobić, aby to działało ode mnie. Zakładam, że będę musiał pobrać konkretny skrypt i uwzględnić go w moim projekcie, ale nie jestem pewien, co jeszcze trzeba dodać. – ThisLanham

Odpowiedz

53

Istnieje opcja można przekazać do $ routeProvider aby przełączać wielkość liter:

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

Działa to w wersji 1.2.2. Wielkie dzięki @John, to powinno być oznaczone jako odpowiedź! –

+1

Można by pomyśleć, że istnieje konfiguracja dla $ routeProvider, aby to zrobić i in. Nie sądzę? – RJB

+2

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