SORU
2 Mayıs 2013, PERŞEMBE


AngularJs - rota değiştirme olayı iptal

Nasıl AngularJs, rota değiştirme olayı iptal edebilirim?

Benim geçerli kod

$rootScope.$on("$routeChangeStart", function (event, next, current) {

// do some validation checks
if(validation checks fails){

    console.log("validation failed");

    window.history.back(); // Cancel Route Change and stay on current page  

}
});

eğer doğrulama Açısal şablon ve ilgili bir sonraki veri çeker ve hemen sonra Görünüm/route önceki geçiş başarısız olursa bu bile. Eğer doğrulama başarısız olursa, bir sonraki şablon & veri çekme açısal istemiyorum, ideal olarak pencere olacaktır.tarih.() geri. Ben bile olay çalıştı.() preventDefault ama faydası yok.

CEVAP
2 Mayıs 2013, PERŞEMBE


$routeChangeStart yerine $locationChangeStart kullanın

Burada angularjs adamlar bu konuda tartışma var: https://github.com/angular/angular.js/issues/2109

Örnek:

$scope.$on('$locationChangeStart', function(event) {
    if ($scope.form.$invalid) {
       event.preventDefault();
    }
});

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DavidParody

    DavidParody

    17 EKİM 2009
  • Epic Tutorials for iPhone, iPad and iOS

    Epic Tutoria

    18 EYLÜL 2011
  • HowcastSportsFitness

    HowcastSport

    11 Mayıs 2011