• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

想在给定的时间间隔后动态地打印字母,错误:[$ rootScope:infdig] 10 $ digest()迭代到达。中止(…)

JavaScript 来源:Lalit Atrish 4次浏览
var str = "get_data_httpaja.php?un=" + $scope.uName; 
var avail=["a","v","a","i","l","a","b","l","e"]; 
var i=0; 
$http.get(str).then(function (dt) { 
    alert(dt.data); 
    //  $scope.uPlace = dt.data; 
    if(dt.data==0){ 
     var myvar=$window.setInterval(function() { 
      $scope.$watch("uAvailable",function (nv,ov) { 
       $scope.uAvailable+=avail[i]; 
      }) 
      i++;      
     },500) 
     if(i>8)$window.clearInterval(myvar); 
    } 
} 

我取出由服务器的结果,以后如果result==0然后我想打印的字母“可用”动态信,但收到错误:(

===========解决方案如下:

这里是一个有效的解决方案:

var myApp = angular.module('myApp',[]); 

myApp.controller('MyCtrl', MyCtrl); 

function MyCtrl($scope,$timeout,$interval) { 
    $scope.uAvailable = ''; 
    $timeout(function(){},500).then(function() { 
     var avail=["a","v","a","i","l","a","b","l","e"]; 
     $interval(function(counter){ 
      $scope.uAvailable += avail[--counter];    
     }, 500, avail.length); 
    }); 
} 

我用$超时而不是$ HTTP,因为这两个返回的承诺(这只是这个例子的目的)

的jsfiddle:http://jsfiddle.net/obkx9zaz/


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)