AngularJS在一个ng-repeat中包含多个倒计时
AngularJS Multiple countdowns within an ng-repeat
我有一个小的AngularJS应用程序,它搜索和检索用户列表和他们的下一个预定会议(假设一个是在接下来的8小时内安排的)从服务器带回使用JSON的时间格式在UTC为方便计算到当地时间。我已经写了javascript来计算剩余的时间,我没有写或弄清楚的是如何在Angular中做到这一点。
我想要完成的是能够在会议安排完成或会议开始之前的剩余时间内更新DOM。如果使用$timeout服务更新单个元素,似乎很简单,但是我不清楚如何在ng-repeat中一次对多个项目完成此任务。
任何想法都会很感激!谢谢!
在ng-repeat中,您将得到一个项目列表。
<li ng-repeat="items" >{{ timeUntil(currentTime) }}</li>
尝试只更新$作用域。并让每个项目都有一个timeUntil方法。您只需更新$作用域。从超时时间开始。Angular会处理剩下的部分。
这里的关键是要知道你只是放入了一个"表达式",而在angular中,表达式可能很复杂,甚至涉及到函数调用。
重复问题,在这里回答:https://stackoverflow.com/a/16204830/2275421
http://plnkr.co/edit/0JqK96irV4ETdWZYxO3P?p =
预览将HTML更改为引用一个不影响ng-repeat:
的单独数组。<td>in {{_timeLeft[$index]}}</td>
更新如下:
$scope._timeLeft = [];
var intervalID = window.setInterval(function() {
for (var i=0; i<$scope.items.length; i++) {
$scope._timeLeft[i] = $scope.timeUntil($scope.items[i]._freeBusyTime);
}
$scope.$apply();
}, 1000);
注意,$scope.$apply()需要让Angular知道'_timeLeft'被修改了,它会更新所有对它的引用。
相关文章:
- Angular ng repeat order将多个字段作为一个字段
- Toggle Switch在包含ng model和ng repeat之后不进行切换
- AngularJS:如何使用ng repeat来显示父数组中包含的数组的所有元素
- 使用ng repeat添加多个视图实例时的范围界定问题
- ng-click在ng-repeat IE9中多次触发
- AngularJS嵌套ng-repeat过滤器多个参数
- 当项目包含在数组中时,在 ng-repeat 上以角度添加类
- Angularjs:在ng-repeat中过滤多个条件
- 将用户选择的多个单选按钮选项存储在使用 ng-repeat(s)构建的角度 js 中
- 角度 - 我可以在嵌套的 ng-repeat 中的多个对象上使用单个函数来触发该对象的 ng-show 吗?
- 如何在表体中使用 ng-repeat 来包含多行
- 对包含 json 的字符串使用 ng-repeat
- AngularJS试图将一个类添加到多个值,如果它在ng-repeat上为真
- AngularJS多维数组调用ng repeat
- 尝试输出多维数组时,AngularJS中的ng repeat不起作用
- 在html中使用ng repeat在控制器中显示多个图像
- AngularJS在一个ng-repeat中包含多个倒计时
- 使用ng-repeat提供多个按钮
- JPA ng-repeat过滤器-多个id'
- 使用NG-repeat创建一个包含多个单选按钮的表单:希望重置所有单选按钮的值