2017-08-15 176 views
0

我試圖將sessionlength轉換爲秒,並將其保存在一個變量,稱爲totalTimetotalTime = sessionlength * 60)。 在我的腳本中,用戶可以點擊按鈕來增加/減少sessionlength。 但問題是總時間沒有改變sessionlegnth改變。 任何人都可以指出我哪裏出錯了?提前致謝!變量沒有改變,而另一個變量變化

var myApp = angular.module('myApp', []); 
myApp.controller('pomodoroTimer',function pomodoroTimer($scope) { 
    $scope.breaklength = 5; 
    $scope.sessionlength = 25; 
    $scope.totalTime = $scope.sessionlength * 60; 

    $scope.decreaseNumber = function() { 
     $scope.sessionlength--; 
    }; 

    $scope.increaseNumber = function() { 
     $scope.sessionlength++; 
    }; 
    }); 

回答

2

您還沒有重新計算後的會話長度變化的總時間,你可以像下面這樣做: -

var app = angular.module("myApp", []); 
 
app.controller("myCtrl", function($scope) { 
 
    $scope.breaklength = 5; 
 
    $scope.sessionlength = 25; 
 
    $scope.calcTotalTime = function(){ 
 
     $scope.totalTime = $scope.sessionlength * 60; 
 
    } 
 
    
 
    $scope.decreaseNumber = function() { 
 
     $scope.sessionlength--; 
 
    $scope.calcTotalTime(); 
 
    }; 
 
    $scope.increaseNumber = function() { 
 
     $scope.sessionlength++; 
 
     $scope.calcTotalTime(); 
 
    }; 
 
    
 
    $scope.calcTotalTime(); 
 
});
<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
 
<body> 
 

 
<div ng-app="myApp" ng-controller="myCtrl"> 
 
    
 
<button ng-click="increaseNumber()">Increase</button> 
 
<button ng-click="decreaseNumber()">Decrease</button> 
 
<br> 
 
Session Length:{{sessionlength}}<br> 
 
Total Time:{{totalTime}} <br> 
 
</div>

+0

$ scope.calcTotalTime();應該添加到decreaseNumber方法中。 –

+0

@huanfeng謝謝。我會更新答案。 –

+0

爲什麼你在'$ scope'中添加'calcTotalTime'?該功能不會被使用。 – alexmac

相關問題