在ng-repeat
内部使用createdAt
过滤器过滤| date
属性。在ng-repeat
内,item in items
由| filter
获取term
。换句话说,我的代码看起来像这样:
<input placeholder="search" ng-model="term" />
<div ng-repeat="item in items | filter:term">
{{item.createdAt | date}}
</div>
非常基本。 date
过滤器的{ISO 1}日期为2015-09-03T00:12:43.107Z
,并返回Sep 2, 2015
之类的内容。
期望的情景:
item
显示已过滤的createdAt
文本,例如 2015年9月2日。
用户搜索“2” - 并向下缩小数组结果,仅显示按日期过滤结果符合其条件的项目。
用户刚刚按 date 完成了过滤项目 - 但更重要的是,基于{{1}过滤了项目按用户可见的日期过滤器的返回值。
有没有办法在不编写自定义过滤器的情况下完成此操作 - 或者我需要使用利用date
&amp; $filter('filter')
?
可能是这样的:
$filter('date')
我想这也应该知道
编辑:您可以通过item in items | filter:{date: (term | date:'ISO'), name: term}
// converts term back to ISO for matching (ideally)
是否是一个日期,然后再尝试过滤它,因为term
也应该过滤term
items
上也有匹配。item.name
过滤器运行文本值并返回相同的值。
提前致谢