1

設定したボタンがありますng-click="refresh()"。コンソールは、タイムアウト関数が正しくログに記録する前にログを記録しますが、ブロック内$timeoutおよびブロックの後のコンソール ログはログに記録されないようです。ブロックを削除すると、$timeoutすべてのコンソール ログが機能します。$interval代わりに$timeout同じ動作を確認しました。

ここでこういうのやりたかった

私はAngular.js 1.4.0を使用しています

これはコントローラー内の私の実装です

      $scope.refreshing ={state: false};
      $scope.refresh = function(){
        console.log($scope);
        $scope.refreshing.state = true;
        $scope.search(); //sends an http request and loads results.
        console.log('this logs');
        // $scope.refreshing.state = false;
        $timeout(function(){
           console.log('this doesnt log')
           $scope.refreshing.state = false;
         },2000);
        console.log('this doesnt log')

      }
4

1 に答える 1