如何创建过滤器以过滤AngularJS中的ng模型值?
我有一个输入字段:如何创建过滤器以过滤AngularJS中的ng模型值?,angularjs,filter,angularjs-ng-repeat,Angularjs,Filter,Angularjs Ng Repeat,我有一个输入字段: <input type="text" ng-model="defaultValue"> 我想创建一个过滤器来比较对象中的值,如: items: [ { repo_status: null, cyberridge_loan_number: "FH00-0012-0003-0012", repo_id: 18, cr_loan_status: "CLOSED", eff_days_delinquent: null
<input type="text" ng-model="defaultValue">
我想创建一个过滤器来比较对象中的值,如:
items: [
{
repo_status: null,
cyberridge_loan_number: "FH00-0012-0003-0012",
repo_id: 18,
cr_loan_status: "CLOSED",
eff_days_delinquent: null,
principal_balance: null,
preemptive_charge_off_balance: 0,
total_final_charge_off_balance: 0
},
...
]
例如:比较回购id是否大于18?我创建了一个ng重复:
<li ng-repeat="(key, value) in data.items[0]">{{value}}</li>
{{value}
(因为这个ng repeat用于所有相同格式的api,所以我使用了{key,value}对)
但如何制作一个逻辑过滤器(repo_id>18?)并应用于ng repeat
非常感谢你 您可以创建这样的自定义过滤器
$scope.greaterThan = function(prop, val) {
return function(item) {
if (item[prop] > val) return true;
}
}
演示
var-app=angular.module('myApp',[])
app.controller('MyController',函数($scope){
$scope.defaultValue=0;
$scope.items=[{
回购状态:空,
数码桥贷款编号:“FH00-0012-0003-0012”,
回购编号:18,
CRU贷款状态:“已关闭”,
拖欠有效天数:空,
本金余额:空,
先发制人冲销余额:0,
总最终冲销余额:0
},
{
回购状态:空,
数码桥贷款编号:“FH00-0012-0003-0012”,
回购编号:34,
CRU贷款状态:“打开”,
拖欠有效天数:空,
本金余额:空,
先发制人冲销余额:0,
总最终冲销余额:0
}];
$scope.greaterThan=函数(prop,val){
返回函数(项目){
if(item[prop]>val)返回true;
}
}
});代码>
- {{item}
非常感谢您!
$scope.greaterThan = function(prop, val) {
return function(item) {
if (item[prop] > val) return true;
}
}