如何在Angular中过滤嵌套对象不相等?

WBC*_*WBC 5 javascript angularjs

可能会遗漏一些简单的语法,但我似乎无法使用相同的过滤器来工作:

我可以

filter: {property:{text:'yes'}},

但不是

filter: {property:{text:'!yes'}},

这适用于非嵌套对象.

HTML:

<ul>
  <li ng-repeat="attr in attributes | filter: {property:{text:'!yes'}}">
    {{attr.property.text}}
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

JS:

$scope.attributes = [
  {property: { text:'yes' }},
  {property: { text:'no' }},
];
Run Code Online (Sandbox Code Playgroud)

Plunkr链接:

http://plnkr.co/edit/2mTcQijmfnqAM5vUtKsK?p=preview

Juh*_*nen 6

您可以ng-if像这样获得相同的效果:

<ul>
    <li ng-repeat="attr in attributes" ng-if="attr.property.text !== 'yes'">
        {{attr.property.text}}
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

或者,您可以编写包含逻辑的自定义过滤器或以某种方式展平原始结构.我认为!嵌套结构不支持.