2012-09-07 27 views
9

Sadece birinin URL'nin rotasını değiştirip değiştirmediğini öğrenmenin bir yolu olup olmadığını merak ediyorum.

<a ng-href="#/somewhere">To somewhere</a> 

ve ben bu kullanarak oldu: Örnek olarak

, benim html böyle bir şey var Ancak

$scope.$on('$routeChangeSuccess', function (scope, next, current) { 
    //Some code 
}) 

, ben sadece bu çalıştırmak için gereken fark URL'yi değiştirmeden önce kodu. Bunun için bir yol var mı ve aynı zamanda nereye yönlendirileceğimi ve nereden gideceğimi bilmek için aynı next ve current'a sahip olmak mı?

cevap

24

Rota değişikliği öncesinde tetiklenen $routeChangeStart etkinliği var. Tam olarak beklediğiniz gibi, hem sonraki hem de geçerli parametreleri destekler. Yani, kullanım senaryosunu kapsayacak şekilde yazabilirsiniz: Ayrıca diğer olayları görmek için $ rota belgelerine (https://docs.angularjs.org/api/ngRoute/service/$route) kontrol etmek isteyebilirsiniz http://jsfiddle.net/pkozlowski_opensource/9MnE9/

: Burada

$scope.$on('$routeChangeStart', function(scope, next, current){ 
     console.log('Changing from '+angular.toJson(current)+' to '+angular.toJson(next)); 
}); 

eyleminde bu gösteren eksiksiz jsFiddle olduğunu $ rota hizmeti tarafından yayıldı.

+1

Çok teşekkür ederim! Bu benim aradığım şey! – Tomarto

+2

Teşekkürler. Ama ilk argüman aslında olaydır. – bullgare

İlgili konular