Angularjs 为什么这个角度过滤器会应用于类似的ID?

Angularjs 为什么这个角度过滤器会应用于类似的ID?,angularjs,Angularjs,我有一系列的3个选择,删除在其他字段中选择的选项 选择1 选择2 选择3 除了这个问题,工作还不错 它似乎像ID一样过滤。因此,如果选择1,则具有1x id的项目也会从后续选择中过滤。与其他类似ID相同-2个和2个 很明显,我说得不够清楚。少了什么 谢谢 过滤器可以接受在您的情况下可能有用的函数,因为您必须处理3种不同的情况 $scope.filterFruitsA = function(val) { return val.id !== val.id !== $scope.food

我有一系列的3个选择,删除在其他字段中选择的选项

选择1
选择2
选择3
除了这个问题,工作还不错

它似乎像ID一样过滤。因此,如果选择1,则具有1x id的项目也会从后续选择中过滤。与其他类似ID相同-2个和2个

很明显,我说得不够清楚。少了什么


谢谢

过滤器可以接受在您的情况下可能有用的函数,因为您必须处理3种不同的情况

 $scope.filterFruitsA = function(val) {
    return val.id !== val.id !== $scope.food.fruitTwo && val.id !== $scope.food.fruitThree
  }
  $scope.filterFruitsB = function(val) {
    return val.id !== $scope.food.fruitOne && val.id !== $scope.food.fruitThree
  }
  $scope.filterFruitsC = function(val) {
    return val.id !== $scope.food.fruitOne && val.id !== $scope.food.fruitTwo
  }
链接到工作plunker


我相信这可以用一种聪明的方式来完成,但在一天中的那个时候,我想不出任何事情,明天我会尝试重新讨论这个问题。

谢谢@maurycy,我会尝试一下。谢谢你,朋友!你想提交答案吗?
 $scope.filterFruitsA = function(val) {
    return val.id !== val.id !== $scope.food.fruitTwo && val.id !== $scope.food.fruitThree
  }
  $scope.filterFruitsB = function(val) {
    return val.id !== $scope.food.fruitOne && val.id !== $scope.food.fruitThree
  }
  $scope.filterFruitsC = function(val) {
    return val.id !== $scope.food.fruitOne && val.id !== $scope.food.fruitTwo
  }