Angular.js自定义日期过滤器

时间:2014-08-25 14:05:06

标签: javascript angularjs coffeescript angularjs-filter

我正在尝试在Angular.js中创建一个过滤器,以检查项目的日期是否介于两个选定日期之间。我的问题是我需要在我的过滤器中使用现有的日期过滤器。我的代码如下所示,有没有办法将$ filter注入我的过滤器?

app.filter 'dateFilter', ['input', 'startDate', 'endDate', 'field', '$filter', (input, startDate, endDate, field, $filter) ->
    if startDate or endDate
      filteredItems = []
      if startDate
        filteredItems.push(record) for record in input when $filter('date')(record[field], 'shortDate') >= startDate
      if endDate
        filteredItems.push(record) for record in input when record[field] <= endDate
      filteredItems
    else
      input
]

更新

我试图错误地注入$ filter。这是现在有效的更新代码。

app.filter 'dateFilter', ['$filter', ($filter) ->
  (input, startDate, endDate, field) ->
    if startDate or endDate
      filteredItems = []
      if startDate
        filteredItems.push(record) for record in input when $filter('date')(record[field], 'shortDate') >= startDate
      if endDate
        filteredItems.push(record) for record in input when $filter('date')(record[field], 'shortDate') <= endDate
      filteredItems
    else
      input
]

0 个答案:

没有答案