使用多个条件筛选ng个重复

filtering ng-repeat with more than one conditional

本文关键字:ng 筛选 条件      更新时间:2023-09-26

我有这个:

<div id="box" ng-repeat="item in produtos | filter:{categoria:busca.categoria,subcategoria:busca.subcat,produto:termoBusca}">

我用一种条件测试了它,很好,它起作用了:

filter:{busca.categoria?categoria:busca.categoria}

现在我需要的是有不止一个条件,像这样:

filter:{busca.categoria?categoria:busca.categoria} && {busca.subcat?subcategoria:busca.subcat}

写这篇文章的正确方式是什么?

来自Angular文档

过滤器可以应用于另一个过滤器的结果。这被称为"链接",并使用以下语法:{{expression|filter1|filter2|…}}

所以,你只要管道,它就会变成这样:

<div id="box" ng-repeat="item in produtos | filter:categoria:busca.categoria | filter:subcategoria:busca.subcat | filter:produto:termoBusca>

尝试以下

filter:{categoria:(busca.categoria?categoria:busca.categoria) ,subcat: (busca.subcat?subcategoria:busca.subcat)}

filter参数可以是一个对象,并且filter对象的属性必须和对象数组的项的属性匹配。