2013-07-24 3 views
25

Non sono stato in grado di trovare una risposta semplice a questo, il che mi porta a credere che sia qualcosa di davvero molto semplice. In ogni caso, eccomi.Sensibilità della casella di routing AngularJS

Tutte le chiamate nel mio $ routeProvider funzionano alla grande, ma sono case sensitive. Ecco un esempio di codice:

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

cosa ho bisogno di aggiungere in modo che '/ Foo', '/ foo', '/ foo', ecc, tutti reindirizzare lo stesso percorso?

+0

Forse a questa domanda sarebbe utile? http://stackoverflow.com/questions/14994324/angularjs-base-href-case-sensitive –

+0

Sembra correlato, ma non capisco perfettamente cosa devo fare per far funzionare questo lavoro da me. La mia ipotesi è che avrei bisogno di tirare uno script specifico e includerlo nel mio progetto, ma non sono sicuro di cos'altro deve essere aggiunto. – ThisLanham

risposta

53

C'è un'opzione è possibile passare a $ routeProvider per attivare o disattivare caso sensibilità:

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

Funziona sulla versione 1.2.2. Grazie mille @ John, questo dovrebbe essere contrassegnato come risposta! –

+1

Penseresti che ci sarebbe una configurazione per $ routeProvider per fare questo e altri. Non credo? – RJB

+2

@RJB C'è: $ routeProvider.caseInsensitiveMatch = true; – Mathew