2016-04-24 126 views
0

你好每一个我有Angularjs代码,点击复选框时加载图像。Angularjs图像加载事件

代码HTML1 - 在复选框被渲染

<li ng-repeat="Dep in oDep" > 
    <input type="checkbox" ng- model="cboxDepState[Dep.num]" 
ng-change="OnDepStateChange(Dep.num,Dep.nom)" /> 

</li> 

代码HTML2 - 这是加载图像。

<div bg data-ng-show="loading['ville']" class="text-center ng-hide"> 
<img src="" /> 
</div> 

代码AngularsJS

var app = angular 
      .module("HomeModule", []) 
      .controller("HomeController", function(){ 
       $scope.loading =[]; 

$scope.OnDepStateChange = function (numDep, nom) {    
       $scope.loading['ville'] = true; 
       //code inside function take 5 second 
       // 
       $scope.loading['ville'] = false; 
}}); 

所有代码做工精细只是加载图像不起作用 你能帮助我PLZ。

+0

目前尚不清楚 - 从您的解释和代码示例 - 确切的问题是什么。请修改您的问题,并在代码或说明中加入可验证的示例。 – wahwahwah

回答

0

您需要在长功能内给角度一些呼吸空间。使用$超时执行您的冗长代码。完成后隐藏该功能内的加载程序。

$scope.OnDepStateChange = function (numDep, nom) {    
     $scope.loading['ville'] = true; 

     $timeout(function(){ 
      //code inside function take 5 second 
      // 

      $scope.loading['ville'] = false; 
     })   
})