2015-12-13 3 views
1

ошибка возникает при вызове $ переваривать или применить

registerAjax = -> 
    successRegister = -> 
     $scope.showRegistrationPanel = false 
     $scope.showEndRegistrationPanel = true 
     $scope.$digest() 
    errorRegister = (response) -> 
     $scope.textErrorPanelRegistration = response.data.error 
     $scope.showErrorPanel = true 
     $scope.$apply() 



    data = 
    password: $scope.user.password 
    firstName: $scope.user.firstName 
    lastName: $scope.user.lastName 
    email: $scope.user.email 

    http.post REGISTER_URL, data 
    .then successRegister, errorRegister 

при вызове $ переваривать или $ применяется ошибка взлетает, но все это работает

Error: [$rootScope:inprog] http://errors.angularjs.org/1.4.7/$rootScope/inprog?p0=%24digest 
at Error (native) 
at http://localhost:8000/lib/angular/angular.min.js?M420gm3LwzcQLAcaXrk6IQ:6:416 
+0

Вы используете 'jQuery.ajax' в своем коде, тогда, очевидно, вам нужно запустить цикл дайджеста ... или вы можете просто попробовать' $ timeout (function() {}) 'для запуска безопасного цикла дайджеста –

+0

Я использую angular http – litehause

+0

Так что нет необходимости запускать цикл дайджест. Если вы используете '$ http' методы для создания ajax. –

ответ

1

Использование Угловая-х $timeout service:

$timeout(function() { 
    $scope.$apply(); 
}); 

Это будет автоматически ждать текущий дайджест цикла завершить до вызов $ apply.

Смежные вопросы