【发布时间】:2018-11-16 02:22:19
【问题描述】:
image link for error我正在尝试使用时间数据每秒更新 angular dom,即使在控制台上 $digest 正在运行但它没有更新值,也不会更新。
angular.module('app').controller('mvCoursesDetailCtrl', function($scope, mvCourse, $routeParams,$interval) {
$scope.test;
$scope.course = mvCourse.get({_id:$routeParams.id}, (data)=> {
console.log(data.published);
console.log(data.endDate);
let oneDay = 1000*60*60*24;
let oneHour = 1000*60*60;
let oneMinute = 1000*60;
let oneSecond = 1000;
let startDate = new Date();
let startMonth = startDate.getMonth() + 1;
let endDate = new Date(data.endDate);
$interval(function () {
$scope.test = Math.ceil(Math.abs(((startDate.getTime()) - (endDate.getTime())))/oneMinute)+" Minutes "+Math.ceil(Math.abs(((startDate.getTime()) - (endDate.getTime())))/oneSecond)+" s";
console.log($scope.test);
},1000);
});
});
这是test 变量未更新的地方
<div class="container">
<h1>{{course .title}}
<div class="row">
<div class="col-md-12">
<h3>Featured</h3>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<div class="col-md-6">
<h3>Published on</h3>
<h4>{{course.published | date}}</h4>
</div>
<div class="col-md-6">
<h3>Status</h3>
<h4 ng-show="course.status.toLowerCase() === 'open'">
<mark class="open">{{course.status | uppercase}}</mark>
</h4>
<h4 ng-show="course.status.toLowerCase() === 'booked'">
<mark class="booked">{{course.status | uppercase}}</mark>
</h4>
</div>
</div>
<div class="row">
<div class="col-md-6">
<h3>Time Left</h3>
<h4>{{test}}</h4>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-primary">
<div class="panel-heading">Tags</div>
<div class="panel-body">
<div ng-repeat="tag in course.tags">{{tag}}</div>
</div>
</div>
</div>
</div>
</h1>
</div>
请指导我。
【问题讨论】:
-
没有必要使用粗体和感叹号。
-
哈哈哈.. 是的,谢谢,但这不是我正在等待的答案。请帮我解决这个错误! @MatusDubrava
-
我们无法运行您的代码,因为它具有“课程”依赖项,您能分享一下您收到的错误消息吗?
-
错误是它没有更新我的角度表达式 {{test}} 即使在控制台 $interval 每秒触发一次但没有更新任何东西! @RTWorkSpace
-
我的意思是错误:Angular 在控制台中记录的错误。有两种可能性:要么你的控制器不工作,因此 UI 上什么都没有发生,否则在这两种情况下都存在语法错误.. angular 一定记录了一些错误.. 你能把它粘贴在这里
标签: javascript angularjs dom setinterval