Javascript AngularJS中继器,针对复杂模型具有多个内联过滤

Javascript AngularJS中继器,针对复杂模型具有多个内联过滤,javascript,angularjs,Javascript,Angularjs,我对AngularJS完全是新手,所以我想听听关于如何做到这一点的建议 在中继器中是否可以整齐地显示/隐藏多个过滤器,而不是创建多个大块的过滤器代码“块”?与AngularJS站点中的自定义过滤器/教程9相比,这将大大降低初看起来的可读性,并且代码更少 比如: <li ng-repeat="phone in phones | filter:(showIf phone.brand == 'Nexus') | orderBy:orderProp"> {{phone.

我对AngularJS完全是新手,所以我想听听关于如何做到这一点的建议

在中继器中是否可以整齐地显示/隐藏多个过滤器,而不是创建多个大块的过滤器代码“块”?与AngularJS站点中的自定义过滤器/教程9相比,这将大大降低初看起来的可读性,并且代码更少

比如:

    <li ng-repeat="phone in phones | filter:(showIf phone.brand == 'Nexus') | orderBy:orderProp">
       {{phone.name}}
       <ul>
          <li ng-repeat="price in phone.prices | filter:(showIf price < 100)">${{price}}</li>
       </ul>
    </li>
请参阅角度文档中的。这完全有可能

您的第一个示例,
showIf phone.brand==“Nexus”
最好使用内置过滤器来完成,该过滤器的名称有点混淆

<li ng-repeat="phone in phones | filter:{brand: 'Nexus'}">{{ phone }}</li>
用法如下:

<li ng-repeat="price in phone.prices | filter:{price: 100}:lessThan">{{price}}</li>
  • {{price}

  • yikes。。颜色编码与我想象的代码误入歧途。希望在中继器上应用内联和过滤器,而不是如指南示例之一所示的中继器项目。您能否为ng repeat DOM中除equal之外的其他运算符,甚至多个(稍微复杂一点的)筛选器提供一个代码示例?添加了带有comparator函数的示例。谢谢Mikke,我将使用您所拥有的内容,但如果有不同的方法,请将此问题保留一段时间。
    $scope.lessThan = function(expected, actual) {
        return actual < expected;
    }
    
    <li ng-repeat="price in phone.prices | filter:{price: 100}:lessThan">{{price}}</li>