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

  • hidetake takayama

    hidetake tak

    3 Mart 2009
  • Liz Morgan

    Liz Morgan

    4 Aralık 2011
  • Vagrant Records

    Vagrant Reco

    8 Mayıs 2006