我收到angularjs [$ rootScope:inprog]错误。
Error: [$rootScope:inprog] http://errors.angularjs.org/1.2.7/$rootScope/inprog?p0=%24digest

这是函数调用

 Members.get({}, function (response) { // success
   $scope.family_mem = response.data;
  }, function (error) { // ajax loading error

    Data.errorMsg(); // display error notification
  });

在控制台中,我通过php Controller function.Result获取结果,但不更新$scope.family_mem而是转到错误部分。
这是指令
myApp.directive('mySelect', function() {
  return{
    restrict: 'A',
    link: function(scope, element){
      $(element).select2();
    }
  };
});

最佳答案

通常这意味着您在另一个已经具有生命周期的 Angular 代码内部的某个位置手动定义了$ rootScope。$ apply。这在通常情况下不应该发生,因为 Angular 跟踪生命周期本身。一种常见的情况是需要从非 Angular 代码(例如jquery或老式的js东西)更新范围。因此,请检查您是否在某处。如果您确实需要,最好使用安全应用(常见代码段):

angular.module('main', []).service('scopeService', function() {
     return {
         safeApply: function ($scope, fn) {
             var phase = $scope.$root.$$phase;
             if (phase == '$apply' || phase == '$digest') {
                 if (fn && typeof fn === 'function') {
                     fn();
                 }
             } else {
                 $scope.$apply(fn);
             }
         },
     };
});

然后,您可以通过以下方式注入(inject)此服务并进行必要的调用:
scopeService.safeApply($rootScope, function() {
    // you code here to apply the changes to the scope
});

08-07 14:11