带有中继器的角度ui bootstrap datepicker过滤器

时间:2015-09-15 04:32:38

标签: angularjs

我是angularjs的新手,我在带有日期(create_at)的bootstrap日期选择器ng-model(dt | date:'yyyy-MM-dd')的重复过滤器上遇到问题。

<li ng-repeat="item in items | filter:{create_at:{'dt| date:"yyyy-MM-dd"'},     subject:query}" class="thumbnail">
...
</li>

谢谢!

1 个答案:

答案 0 :(得分:0)

你需要为它创建一个自定义过滤器,日期过滤器是格式化程序,它不会过滤你的结果所以你需要做的是:(这是日期范围,但你可以将它转换为单一日期):

   app.filter("dateRange", function() {
  return function(items, from, to) {
        var df = parseDate(from);
        var dt = parseDate(to);
        var result = [];        
        for (var i=0; i<items.length; i++){
            var tf = new Date(items[i].date1 * 1000),
                tt = new Date(items[i].date2 * 1000);
            if (tf > df && tt < dt)  {
                result.push(items[i]);
            }
        }            
        return result;
  };

在视图中:

  <lin g-repeat="order in orders | dateRange:dateFrom:dateTo">
...
</li>

所以你看到这里,我们得到一个日期字符串,将其转换为日期,然后按日期范围过滤。您可以随意修改它...您也可以将日期转换为ISO或其他