【发布时间】:2016-05-11 14:00:52
【问题描述】:
代码发布在 codepen 上: http://codepen.io/karlsaks/pen/KzEyLR
问题是我正在构建一个计数器,它应该显示数字减少,因为 angular 有 2 路绑定,我确信它们正在我的应用程序的控制器端更新(可以通过访问控制台看到)
我真的没有选择,any1 可以帮忙吗?
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<title>Counter</title>
<link rel="stylesheet" type="text/css" href="./style.css">
<!-- <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script> -->
<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript" src="app.js"></script>
</head>
<body ng-controller="myCtrl">
<div id="inputBox">
<input id="userInput">
<button type="button" onclick="submit()">Submit</button>
</div>
<br>
<div id="clockdiv">
<div>
<span>{{days}}</span>
<div class="smalltext">Days</div>
</div>
<div>
<span>{{hours}}</span>
<div class="smalltext">Hours</div>
</div>
<div>
<span>{{minutes}}</span>
<div class="smalltext">Minutes</div>
</div>
<div>
<span>{{seconds}}</span>
<div class="smalltext">Seconds</div>
</div>
</div>
</body>
</html>
angular
.module("myApp", [])
.controller("myCtrl", ['$scope', function ($scope) {
console.log("Controller loaded");
var vm = this;
$scope.getTimeRemaining = function(endtime) {
$scope.t = Date.parse(endtime) - Date.parse(new Date());
$scope.s = Math.floor(($scope.t / 1000) % 60);
$scope.m = Math.floor(($scope.t / 1000 / 60) % 60);
$scope.h = Math.floor(($scope.t / (1000 * 60 * 60)) % 24);
$scope.d = Math.floor($scope.t / (1000 * 60 * 60 * 24));
console.log("time remaining :" + $scope.d + " " + $scope.h + " " + $scope.m + " " + $scope.s);
}
$scope.initializeClock = function(endtime) {
var updateClock = function() {
$scope.getTimeRemaining(endtime);
$scope.days = $scope.d;
$scope.hours = $scope.h;
$scope.minutes = $scope.m;
$scope.seconds = $scope.s;
console.log("time remaining :" + $scope.days + " " + $scope.hours + " " + $scope.minutes + " " + $scope.seconds);
if ($scope.t <= 0 ){
clearInterval(timeinterval)
}
}
updateClock();
var timeinterval = setInterval(updateClock, 1000);
}
$scope.initializeClock(new Date("May 12,2016 11:00:00"))
}])
【问题讨论】:
标签: javascript angularjs angularjs-scope counter