recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - le compte à rebours angulaire n'est valable que pour la première pause

Effet : http://runjs.cn/detail/iyvy6dl7

Après l'ouverture, cliquer sur stop pour la première fois sera efficace, mais cliquer sur stop après le démarrage ne sera pas valide.

  <p ng-controller="ListController">
        {{ t }}
        <p></p>
        <button type="button" ng-click="stop()">stop</button>
        <button type="button" ng-click="start()">start</button>
  </p>
    'use strict';
    var myModule = angular.module("myModule",[])
    .controller('ListController', ['$interval','$scope', function($interval, $scope){

        var t, isPause, timePromise;

        $scope.t = 100;  

        var runTiming = function(){
          timePromise = $interval(function(){
              $scope.t -= 1;
          }, 1000, 100);
        }

        $scope.stop = function(){
          if(angular.isDefined(timePromise)){
            $interval.cancel(timePromise);
            timePromise = undefined;
            $scope.isPause = true;
          }
        }

        $scope.start = function(){
          if(angular.isDefined(timePromise)) return;
            timePromise = runTiming();
            $scope.isPause = false;
        }

        runTiming();  
      
    }])
过去多啦不再A梦过去多啦不再A梦2779 Il y a quelques jours632

répondre à tous(1)je répondrai

  • 巴扎黑

    巴扎黑2017-05-15 16:59:11

    var runTiming = function(){
              timePromise = $interval(function(){
                  $scope.t -= 1;
              }, 1000, 100);
              return timePromise;
            }

    répondre
    0
  • Annulerrépondre