簡體   English   中英

輸入一個數字並在AngularJS中以'hh:mm:ss'/ time格式顯示

[英]Input a number and showed it in 'hh:mm:ss' /time format in AngularJS

我在應用程序中執行的功能是,當我輸入一個特定數字時,它將以hh:mm:ss格式顯示並開始遞減計數。 輸入的數字將被視為分鍾,例如當我輸入2時,顯示為00:02:00,然后它將開始遞減計數。

 <body ng-app="mehmetcankerApp">
 <!--counterCtrl App Controller -->   
<div ng-controller="counterCtrl">
 <!--Angular Binding -->  
 <input type="number" ng-model="counter"/>
<p ng-model="format" ng-bind="counter"  id="numOfDozens"></p>
    <button ng-click="stop()">Stop</button>
    <button ng-click="countdown()">Start</button>     
</div>

整個代碼在以下plnker鏈接中: http ://plnkr.co/edit/Mzv6W9smmRkaDPU4cgVa?p=preview

您需要使用自定義過濾器和間隔:

 var app = angular.module('app', []); app.controller('counterCtrl', ['$scope', '$interval', function($scope, $interval) { $scope.minutes = 0; $scope.seconds = $scope.minutes * 60; $scope.$watch('minutes', function() { $scope.seconds = $scope.minutes * 60; }); $scope.countdown = function() { if ($scope.seconds <= 0) return; $scope.countdownInterval = $interval(function() { if ($scope.seconds <= 0) { $interval.cancel(countdownInterval); } $scope.seconds--; }, 1000); }; $scope.stop = function() { $interval.cancel($scope.countdownInterval); }; } ]); app.filter('secondsToDate', [ function() { return function(seconds) { return new Date(1970, 0, 1).setSeconds(seconds); }; } ]) 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.9/angular.min.js"></script> <div ng-app="app"> <div ng-controller="counterCtrl"> <!--Angular Binding --> <input type="number" ng-model="minutes" /> <p id="numOfDozens">{{seconds | secondsToDate | date:'HH:mm:ss'}}</p> <button ng-click="stop()">Stop</button> <button ng-click="countdown()">Start</button> </div> </div> 

工作演示

在這里您可以看到,我創建了一個函數來獲取帶有輸入文本(計數器)確切時間的采樣日期。

{{getMyTime() | date: 'HH:mm:ss'}}

getMyTime()將返回帶有正確時間的示例日期,並使用日期過濾器對其進行格式化。

 $scope.getMyTime = function(){
   var myTime = new Date(01,01,01);
   myTime.setMinutes($scope.counter);
   return myTime;
 }

希望這會幫助你。

請隨時對此提出任何疑問!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM