angular 在 ng-repeat 中过滤 <=

angular filter in ng-repeat with <=

我正在使用 angular 和 ng-repeat 来迭代数据。我想只显示购买使用 <=5 的项目,但它显示 5、4、55、3、33、2 等,作为结果集,它应该只显示 5、4、3、2。

 $scope.users = [{
      first_name: 'Richard',
      last_name: 'Grayson',
      purchased: 50,
      used: 10,
    },
    {
      first_name: 'Donna',
      last_name: 'Troy',
      purchased: 6,
      used: 3,
    }]

然后在页面上:

<tr ng-repeat="user in users | filter:user.purchased-user.used<=5:true">

Dick 不应出现在列表中,但 Donna 应该出现。他们都出现了。

我知道我可以为过滤器编写一个函数,但这似乎是一个简单的比较,我不应该这样做。看起来它应该可以工作,但我缺少一些东西。

谢谢!

您只需制作一个自定义过滤器:

$scope.customFilter = function(user){
    return user.purchased-user.used <= 5;
};

并从你的中继器呼叫它:

<tr ng-repeat="user in users | filter: customFilter">