Bazı yolları tanımlamıştır:Konum değiştiğinde rota adı nasıl alınır?
angular.module('myApp', [])
.config('$routeProvider', function($routeProvider) {
$routeProvider.when('/aaa', { templateUrl: '/111.html' })
.when('/bbb', { templateUrl: '/222.html'});
});
Ve kullanıcı rotayı değiştirdiğinde güzergah adını almak istiyorum:
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: ' + ???);
}
}]);
Ama bunu elde etmek için nasıl bilmiyorum. templateUrl
'u, ancak rota adını alamıyorum.
GÜNCELLEME
Daha karmaşık bir kullanım durumu: geçerli yoldur
$routeProvider.when('/users/:id', { templateUrl: '/show_user.html' })
ise:
/users/12345
O /users/:id
eşleşmesi gerekir, ama nasıl anlarım hangi rota eşleştirilir ve rota adıolsun?
@Flex, Bilginize benim güncellenen soru :) – Freewind
Bkz : açısal bir hatta işleyicisi ilk argümanı kapsamı değil, bir olay . Kod snippet'inizi bunu yansıtmak için düzenledim. FWIW, "currentScope" olay nesnesinde kullanılabilir. –
kötü bir sözdizimi var ve düzeltme yaptıktan sonra bile çalışmıyor: Bilinmeyen sağlayıcı: $ routeParamsProvider <- $ routeParams – Mike