$ rootScope。$在ajax调用上反复进行

时间:2015-05-07 05:59:21

标签: angularjs

我希望在从模态更新数据后自动刷新仪表板。

  1. 在模态弹出窗口中,在更新中单击操作..使用$ rootScope。$ emit调用父控制器。

  2. 父控制器中的
  3. $scope.updateCard = $rootScope.$on("child_to_parent", function(event) {
         ajaxFunction(function(data) {
             $scope.myData = data.message;
             event.preventDefault();
             event.stopPropagation();
    
         });
     }
    
  4. 更新后,ajax调用不止一次。

    如何阻止更多通话?

2 个答案:

答案 0 :(得分:0)

似乎您$scope.myData的更新会再次触发事件child_to_parent。所以来递归召唤。

答案 1 :(得分:0)

您可以设置一个标志,以防止进行其他ajax调用..

    $scope.isAjaxCallFinished = true;

    $scope.updateCard = function(event) {
         if ($scope.isAjaxCallFinished) {
             $scope.isAjaxCallFinished = false;
             ajaxFunction(function(data) {
                 $scope.myData = data.message;
                 event.preventDefault();
                 event.stopPropagation();
                $scope.isAjaxCallFinished = false;
             });
         }

     }