0
http 서비스에서로드 한 객체의 배열을 angular.js에서 초기화하고 있습니다. 나는 첫 번째 방법을 사용하면 I 3 초 후 업데이트를 지연하여 두 번째 방법을 사용하는 경우angular.js가 약간의 지연 후 데이터 객체 업데이트로 업데이트 표시하는 방법
<ul class="order-list" ng-repeat="catalog in catalogs">
<li style="width:34%;" ng-show="{{catalog.ordered}}" ><span class="fa fa-money"></span> ORDERED </li>
</ul>
$scope.catalogs = [];
$http({
url: baseURL + "/orders/"+order.date + "?code="+order.code,
method: "DELETE",
}).success(function (data, status, headers, config) {
$scope.catalogs = data;
// first way
_.each($scope.catalogs, function(catalog){
console.log(catalog);
catalog.ordered = true;
})
// second way
setTimeout(function(){
console.log("settimeout");
_.each($scope.catalogs, function(catalog){
console.log(catalog);
catalog.ordered = true;
})
$scope.$apply();
}, 2000)
})
코드에서와 같이, 다음 HTML 즉시, 그러나, 업데이트를 표시합니다, 다음 HTML은 표시되지 않습니다 모든 업데이트, $ scope 사용. $ apply(); 그냥 나에게 오류의 오류를 준 : [$ rootScope : inprog] http://errors.angularjs.org/1.3.0-beta.17/ $ rootScope/inprog P0 = % 24digest
나는 setTimeout 또는 표준 방법 $ timeout의 문제라고 생각하지 않습니다. 최소한 setTimeout은 2 초 후에 실행됩니다. – user824624
실제로 해 보셨습니까? – foxx