我无法从此功能updateRefresh()
内部更新我的范围。第一次迭代我可以看到message == "test"
,然后它会覆盖范围内的内容,但它在我的HTML页面上绑定的内容<span>{{refreshDomainStatus.message}}</span>
仍然绑定到该对象其中message="test"
我已尝试$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);
}
});
}
答案 0 :(得分:1)
您不应该将$scope.refreshDomainStatus
设置为response.refreshDomainStatus
吗?
$http.get('/assessment/api/update-refresh-domain/' + updateKey).success(function(response) {
$scope.refreshDomainStatus = response.refreshDomainStatus;
if (!response.refreshDomainStatus.halted) {
$timeout(function () { updateRefresh(updateKey); }, 250);
}
});
答案 1 :(得分:0)
我的问题是我正在创建两个控制器实例。我想我想要一些单身,但为了将来的参考,这很糟糕:
<div class="row" ng-controller="AssessmentController">
<div class="col">
<button class="btn btn-default" ng-click="refresh()">Refresh</button>
</div>
</div>
<div ng-show="" class="row" ng-controller="AssessmentController">
<div class="col">
<span>{{refreshStatus.message}}</span>
</div>
</div>