更正angularjs视图中更新范围值的正确方法

时间:2014-09-04 06:00:51

标签: angularjs angularjs-scope

查看代码

 <a ng-click="deleteOrdersUpdate()">Update</a>
 <span class="red">{{noOfOrders}}</span>

控制器代码

 $scope.deleteOrdersUpdate=function () {
 $scope.noOfOrders=$scope.selection.length;
 scope.$apply();
 };   

我一直在获取$ rootScope:inprog Action Already In Progress错误。

这样做的正确方法是什么?任何人都可以指出我正确的方向。

3 个答案:

答案 0 :(得分:3)

由于您已在角度环境中操作,因此没有理由在此处拨打$apply

$scope.deleteOrdersUpdate = function () {
     $scope.noOfOrders = $scope.selection.length;
 };   

答案 1 :(得分:0)

你必须检查它是否已经处于任何摘要周期,如果是,那么它将自动完成,你不需要这样做,如果没有,那么你可以应用范围

if(!$scope.$$phase) {
    $scope.$apply();
}

答案 2 :(得分:0)

这是beacase $申请已经在进行中。你必须先检查阶段。这是很好的解释和实施

angularjs-apply-digest-in-detail