ng-重复带有数字和日期的多个过滤器
ng-repeat multiple filter with number and date
我正在使用ng-repeat
绘制表格线条,目前正在过滤多个文本参数。下面是一个包含固定字符串的简化示例
<tr ng-repeat="thisOffer in offerList | filter: {name: 'hotel', id: 'H2O_'}"></tr>
这工作正常,现在我也想过滤一个数字,测试它是否低于给定值。是否可以使用如下所示的过滤器?我在角度文档中找不到类似的东西,但我不敢相信不存在简单的解决方案
<tr ng-repeat="thisOffer in offerList | filter: {name: 'hotel', id: 'H2O_', number: '<5' }"></tr>
<tr ng-repeat="thisOffer in offerList | filter: {name: 'hotel', id: 'H2O_'} | filter: 'thisOffer.number < 5' "></tr>
应用这个答案后,这个小提琴适合你(灵感来自这个答案)
<div ng-app>
<div ng-controller="TodoCtrl">
<ul>
<li ng-repeat="friend in friends | filter: {name: 'John'} | filter: greaterThan('phone', 1)">
<span>{{friend.name}}</span>
<span>{{friend.phone}}</span>
</li>
</ul>
</div>
</div>
根据 https://docs.angularjs.org/guide/filter,您可以链接过滤器,因此您的第二个解决方案应该可以工作。
如果没有,请提供一个小提琴,以便我调查它
您需要在相关范围内创建一个谓词函数,并在 ng-repeat 中使用它,如下所示:
<tr ng-repeat="thisOffer in offerList | filter: lessThan('Number', 5)""></tr>
在相关作用域上创建一个函数:
$scope.greaterThan = function(prop, val){
return function(item){
return item[prop] > val;
}
}
作为第一个参数,它采用对象的属性名称。第二个参数是整数值。
像这样在您的视图中使用它:
<tr ng-repeat="thisOffer in offerList | filter: greaterThan('Number', 0)">
相关文章:
- 更改MongoDB中日期过滤器的灵敏度
- 角度日期过滤器扩展 - 翻译
- AngularJS 日期过滤器与$watchGroup
- Javascript日期过滤器改进
- 从特定区域设置的角度日期过滤器输出格式化日期
- JQGrid - 日期过滤器不适用于日期格式(日期(1453636335000))
- 有没有办法在没有本地时区的情况下使用 angularjs “日期”过滤器
- AngularJS日期过滤器firefox/safari问题
- MySQL中用于AngularJS日期过滤器过滤的日期格式
- AngularJS日期过滤器显示错误的日期
- 无法应用日期过滤器内置的angular js
- 如何在ng模型中使用日期过滤器
- 在Javascript API中处理Tableau日期过滤器
- 角度日期过滤器不适用于ng重复
- RethinkDB JavaScript日期过滤器
- AngularJS日期过滤器将短日期格式转换为'M/d/y '标签/字符串
- Angular日期过滤器不能与双向数据绑定一起工作
- Angular.js日期过滤器显示提前一个月
- 网格.MVC日期过滤器"选项不起作用
- 如何在angular js中应用一个年份或月份范围日期过滤器