2017-01-08 2 views
-2

Der Versuch, einen einfachen Countdown zu erstellen, aber ich will es zu stoppen, sobald der Timer 0 erreicht .. Ich weiß nicht, wie man es implementieren.Countdown stoppen um 0

function myButton($interval) { 
    return { 
     templateUrl: '/templates/myButton.html', 
     restrict: 'E', 
     replace: true, 
     scope: { }, 
     link: function(scope, element, attributes) { 
      scope.workTime = 3; 
      scope.buttonText = "Start"; 

      var timeSet; 

      scope.countdown = function() { 
       scope.workTime--; 
      } 
      scope.startTimer = function() { 
       if(scope.buttonText == "Reset") { 
        scope.workTime = 3; 
        $interval.cancel(timeSet); 
        scope.buttonText = "Start"; 
        console.log("test restarted"); 

       } else { 
        timeSet = $interval(scope.countdown,1000); 
        scope.buttonText = "Reset"; 
        console.log("test started"); 
       } 
      } 
     } 
    } 

}; 


<div> 
    <h1>{{ workTime}}</h1> 
    <button ng-click="startTimer()">{{buttonText}}</button> 
<div> 

Ich habe eine if-Anweisung versucht:

if (scope.workTimer === 0) { 
$interval.cancel(timeSet); 
} 

aber der Timer in die negativen Zahlen läuft weiter. Bitte helfen

Antwort

Verwandte Themen