我每次点击按钮web-service
到$scope
变量时都设置了响应值,但$scope
变量没有使用新值更新{I}必须单击两次按钮才能更新$scope
变量。我也检查过,每次按下按钮都会正确调用web-service
。
controller.js
$scope.getDetails = function() {
services.getSomeDetails($scope.id).then(function(response) {
$scope.details= response.data;
}
}
view.html
<a ng-click="getDetails();">Click me!</a>
答案 0 :(得分:1)
在范围变量后使用$scope.$apply()
。
services.getSomeDetails($scope.id).then(function(response) {
$scope.details= response.data;
$scope.$apply();
}
答案 1 :(得分:1)
如果您正在使用jquery点击事件,则不会触发角度的消化圈。使用ng-click指令或在更新范围变量
后添加$scope.$digest()
或$scope.$apply()
services.getSomeDetails($scope.id).then(function(response) {
$scope.details= response.data;
$scope.$apply()
}