2016-05-27 6 views
1

$scope.bluredをこのsetTimeout()(ポストとレスポンスをシミュレートする)に設定できないのはなぜですか?それすぐにボタンを押しclearessetTimeoutを使用してスコープのプロパティを変更する

Plunker

$scope.bluryLines = function(value) { 
    $scope.blured = true; 

    if (value === '' || value === undefined) { 
     console.log('value is empty'); 
    } else { 
     console.log(value); 
    } 

    //faking a post 
    setTimeout(function() { 
     $scope.blured = false; 
     console.log('log'); 
    }, 1000); 
}; 

$scope.removeOverlay = function() { 
    $scope.blured = false; 
}; 
+0

「ログ」はログに記録されますか? – JohnPan

答えて

2

setTimeoutダイジェストを実行しません。サービス番号$timeoutを代わりに使用してください。

app.controller('MainCtrl', function($scope, $timeout) { 

    $scope.bluryLines = function(value) { 
     $scope.blured = true; 

     //faking a post 
     $timeout(function() { 
      $scope.blured = false; 
     }, 1000); 
    }; 

}); 
+0

@ Dejan.S(もちろん)... =) – evolutionxbox

関連する問題