2016-09-28 25 views
0

我想建立一个简单的24小时时间表表看起来像这样NG重复建设时间表表

-00:00 
- 
-00:30 
- 
-01:00 
- 
-01:30 
- 
... 

我一直在摆弄的东西,如...

<table> 
    <tr ng-repeat="t in _.range(0, 24) track by $index"> 
    <td>{{$index % 2 === 1 ? '-' : (t | leadingzero : 2)}}</td> 
    </tr> 
<table> 

显然,这不起作用。有人可以提供更好的解决方案吗?谢谢!

+0

你可以阅读这篇文章:http://stackoverflow.com/questions/11873570/angularjs-for-loop-with-numbers-ranges到了解如何通过定义自己的过滤器来遍历范围。这真的很方便。 – 2ps

回答

2

尝试这种解决方案:

(function(angular) { 
 
    'use strict'; 
 
var myApp = angular.module('app', []); 
 

 
myApp.controller('TestController', ['$scope', function($scope) { 
 
    $scope.ranges = function(from, to){ 
 
     var res = []; 
 
     for(var i = from; i < to; i++) 
 
      res.push((i > 9 ? "" : "0") + i + ":00"); \t   
 
     return res; 
 
    } 
 
}]); 
 
})(window.angular);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<html> 
 
<body ng-app="app"> 
 
    <div ng-controller="TestController"> 
 
    <table> 
 
     <tbody> 
 
     <tr ng-repeat-start="range in ranges(0, 24)"> 
 
      <td>-{{range}}</td> 
 
     </tr> 
 
     <tr ng-repeat-end ng-if="$index!=23"> 
 
      <td>-</td> 
 
     </tr> 
 
     </tbody> 
 
    </table> 
 
    </div> 
 
</body> 
 
</html>

+0

谢谢!棒极了! [code] res.push((temp> 9?“”:“0”)+ temp +(i%2 == 1?“:30”:“:00”)); [/ code]在oder中更改此项以将“**:30”替换为' - '并删除空白的' - '? – user2994871

+0

完美!非常感谢你! – user2994871