如何使用我从数据库中获取的新值更新$ scope变量值?

时间:2016-11-10 06:24:04

标签: angularjs angularjs-scope

我每次点击按钮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>

2 个答案:

答案 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()

  }