ho definito alcuni percorsi:Come ottenere il nome del percorso quando la posizione cambia?
angular.module('myApp', [])
.config('$routeProvider', function($routeProvider) {
$routeProvider.when('/aaa', { templateUrl: '/111.html' })
.when('/bbb', { templateUrl: '/222.html'});
});
e voglio ottenere il nome della rotta quando l'utente cambia il percorso:
angular.module('myApp')
.run(['$rootScope', function($rootScope) {
$rootScope.$on('$routeChangeSuccess', function(scope, current, pre) {
// how to get current route name, e.g. /aaa or /bbb
console.log('Current route name: ' + ???);
}
}]);
Ma non so come ottenerlo. Posso ottenere il templateUrl
, ma non il nome della rotta.
UPDATE
Un caso d'uso più complesso:
$routeProvider.when('/users/:id', { templateUrl: '/show_user.html' })
Se percorso corrente è:
/users/12345
dovrebbe corrispondere /users/:id
, ma come faccio a sapere che percorso è abbinato e per ottenere il nome del percorso /users/:id
?
@Flex, Vedere la mia domanda aggiornato :) – Freewind
FYI: Il primo argomento di un gestore, anche in angolare non è il campo di applicazione, si tratta di un evento . Ho modificato il tuo snippet di codice per riflettere questo. FWIW, 'currentScope' è disponibile sull'oggetto evento. –
ha una sintassi errata e anche dopo la correzione non funziona dicendo: Provider sconosciuto: $ routeParamsProvider <- $ routeParams – Mike