如何通过 2 个字段之间的比较进行过滤

how to filter in with a comparition between 2 fields

我想根据 serverStateinitialstate 不相等的记录条件过滤 servers

{{servers | filter : serverState != initialState}}

您可以创建自己的自定义过滤器,它具有过滤初始状态与 initalState 变量值不匹配的服务器的逻辑。

您的自定义过滤器

myApp.filter('filterServer', function () {
  return function (servers,initialState) {
  var filteredArray=[];
  for (var k = 0; k < servers.length; ++k) {
    var server = servers[k];
    if (server.state != initialState) filteredArray.push(server);
    }
    return filteredArray;
  };
});

你的HTML

<tr ng-repeat="server in Servers | filterServer : initialState">
      <td style="width:50%;fload:left">
          <span ng-bind="server.server"></span>
      </td>
      <td style="width:40%;fload:left">
         <span ng-show="server.state==1">State 1</span>
         <span ng-show="server.state==2">State 2</span>
      </td>
    </tr>

如需示例,请检查此 link

http://fiddle.jshell.net/zxr0qa1k/5/