如何创建过滤器以过滤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;
          }
        }