在http请求后更改$ scope值

时间:2017-10-17 19:07:46

标签: javascript angularjs scope

我试图根据我从http请求得到的响应来显示不同的div。

$scope.firstStep = true;
$scope.secondStep = false;
$scope.thirdStep = false;

$http({
  method: 'GET',
  url: '/api-web/ec/cadastro/recuperar-acesso',
  data: {
    filiacao: $scope.currentFiliacao,
    cnpj: $scope.currentCNPJ
  },
  headers: {'Content-Type': 'application/json'}
}).then(function(res){
  $scope.firstStep === false;

  if (res.data.code === -1) {
    $timeout( function (){
      $scope.secondStep === true; //here is the bug, it dont change to true
      console.log("second", $scope.secondStep);
    }, 3000)
  } 
})

我尝试了几件事,比如$ apply(),_ defer,从===切换到= ......我不知道为什么会这样。

有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

这不起作用吗?

$timeout( function (){
  $scope.secondStep = true;
  $scope.apply();
  console.log("second", $scope.secondStep);
}, 3000)