Javascript Angularjs[$rootScope:inprog]inprogress错误

Javascript Angularjs[$rootScope:inprog]inprogress错误,javascript,php,angularjs,codeigniter,angularjs-scope,Javascript,Php,Angularjs,Codeigniter,Angularjs Scope,我得到angularjs[$rootScope:inprog]错误 错误:[$rootScope:inprog]http://errors.angularjs.org/1.2.7/$rootScope/inprog?p0=%24摘要 这是函数调用 Members.get({}, function (response) { // success $scope.family_mem = response.data; }, function (error) { // ajax lo

我得到angularjs[$rootScope:inprog]错误

错误:[$rootScope:inprog]http://errors.angularjs.org/1.2.7/$rootScope/inprog?p0=%24摘要

这是函数调用

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

    Data.errorMsg(); // display error notification
  });
在控制台中,我通过php控制器函数获得结果。但不更新
$scope.family\u mem
,而是转到错误部分。 这是指令

myApp.directive('mySelect', function() {
  return{
    restrict: 'A',
    link: function(scope, element){
      $(element).select2();
    }
  };
});

通常这意味着您定义了$rootScope。$在另一个已经有生命周期的angular代码中的某个地方手动应用。这不应该发生在普通情况下,因为angular跟踪生命周期本身。当您需要从非角度代码(如jquery或老式js)更新范围时,通常需要使用它。所以请检查一下你有没有这个。如果您确实需要,最好使用safe apply(通用代码段):

然后,您可以通过以下方式注入此服务并进行必要的调用:

scopeService.safeApply($rootScope, function() {
    // you code here to apply the changes to the scope
});

[$rootScope:inprog]inprogress在我的情况下出错:
案例1:表示一次执行两个操作

示例:

goView();
hidePopOver(); //Will trigger error
使用$timeout确保两个操作(函数)未同时运行

goView();
$timeout(function () {
    hidePopOver();
}, 300);
案例2:操作尚未完全执行。
使用$timeout确保已执行第一个操作

$timeout(function () {
    $(element.target).trigger('click');
}, 300);

我也面临同样的问题,但是
时间延迟
很好地解决了我的问题

$timeout(function () {
    $(element.target).trigger('click');
}, 300);
如果触发器位于jquery/javascript端

setTimeout(function () {
    $(element.target).trigger('click');
}, 300);

对于数据库中的特定数据量,不会显示任何错误。限值后显示errorOk。我想问题可能出在服务器端,但您提到的错误是处理逻辑时的另一个错误?错误发生在哪里?在Data.errorMsg()处?其他地方?我不知道进程错误发生在哪里。但是Data.errorMsg()显示了另一个自定义错误。您应该更好地调试它,至少了解它发生的位置,以便我们可以帮助您。否则jsfiddle就好了。还有,您的实际问题是什么?这个角度错误还是从服务器发送数据时数据失败的问题?我猜$scope.family_mem正在使用typeahead。这是一个正在进行的错误,我认为您使用的是缩小的angularjs源代码。尝试使用
angular.js
而不是
angular.min.js
,后者将提供有关错误的详细信息。当使用angular.js获取摘要进行中错误时
setTimeout(function () {
    $(element.target).trigger('click');
}, 300);