2015-07-03 14 views
12

AngularJS denetleyicisinde javascript işlevini nasıl çağırabilirim? Ben JavaScript altında olması

<script type="text/javascript"> 
    function ShowProgress() { 
     var modal = $('<div />'); 
     modal.addClass("spinmodal"); 
     $('body').append(modal); 
     var loading = $(".loading"); 
     loading.show(); 
     var top = Math.max($(window).height()/2 - loading[0].offsetHeight/2, 0); 
     var left = Math.max($(window).width()/2 - loading[0].offsetWidth/2, 0); 
     loading.css({ top: top, left: left }); 
    } 

    function HideProgress() { 
     var loading = $(".loading"); 
     loading.hide(); 
     $(".spinmodal").remove(); 
    } 
</script> 

şimdi Açısal denetleyicisi bu ShowProgress() ve HideProgress() aramak istediğiniz çalışır. ShowProgress()'u çağrılırken GetAllPreparedHideProgress() numaralı telefondan aramak istiyorum.

<script type="text/javascript"> 
    app.controller("myCntrl", function ($scope, angularService, $modal) { 

     $scope.deletePrepared = function (itm) { 
      var getData = angularService.DeletePrepared(itm.ProductId); 
      getData.then(function (msg) { 
       GetAllPrepared(); 
      }, function() { 
       alert('Error in Deleting Record'); 
      }); 
     } 

    }); 
</script> 
+1

sadece bu mthods'ları arayın ve neler olduğunu görün –

+1

Dom manipülasyonu, kontrolör yerine yönerge içinde daha iyi yapılır. – geckob

cevap

21

Basitçe bu yöntemleri çağırır:

app.controller("myCntrl", function ($scope, angularService, $modal) { 

    $scope.deletePrepared = function (itm) { 
     ShowProgress(); 

     var getData = angularService.DeletePrepared(itm.ProductId); 
     getData.then(function (msg) { 
      HideProgress(); 
      GetAllPrepared(); 
     }, function() { 
      alert('Error in Deleting Record'); 
     }); 
    } 

}); 

İpucu: Kullanım Açısal direktifleri DOM işlemleri yapmak ve DOM manipülasyon için herhangi jQuery kodunu gerektirmeyen, Eğik bunun için yeterlidir.

İlgili konular