У меня возникли проблемы с обновлением моего объема изнутри этой функции updateRefresh()
. Первая итерация я могу видеть, что message == "test"
, а затем он перезаписать, что в объеме, но то, что он является обязательным на моем HTML-странице, <span>{{refreshDomainStatus.message}}</span>
, по-прежнему привязан к объекту, где message="test"
Связывание области не обновляется в http-вызове
Я попытался $scope.$apply()
, но это говорит, что $digest
в настоящее время.
app.controller('AssessmentController', ['$scope', '$http', '$timeout', 'ConnectionService', function ($scope, $http, $timeout, connectionService) {
$scope.refreshDomainStatus = {
message: "test"
};
var updateRefresh = function(updateKey) {
$http.get('/assessment/api/update-refresh-domain/' + updateKey).success(function(response) {
$scope.refreshDomainStatus = response.refreshDomainStatus;
if (!response.refreshDomainStatus.halted) {
$timeout(function() { updateRefresh(updateKey); }, 250);
}
});
}
После окончания проверки и контекст:
Если вы 'console.log (response.refreshDomainStatus)' внутри updateRefresh) '' метода (что выход? Кроме того, очевидный вопрос, но вы вызываете 'updateRefresh()' где-то, чтобы запустить весь цикл, не так ли? – Lex
Да, я звоню, чтобы начать весь процесс. Первая итерация: 'response.refreshDomainStatus => Object {error: false, message:« Извлечение списка пользователей », halted: false}'. '$ scope.refreshDomainStatus => Object {error: true, message:" test ", halted: false}'. На второй итерации задан параметр $ scope.refreshDomainStatus. Кажется, что это правильно. Когда я проверяю область действия элемента, который все еще говорит '' test ': angular.element ($ 0) .scope(). RefreshDomainStatus => Object {message: "test", halted: false, error: false} ' – Bluebaron