我有这个:
<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}
写这个的正确方法是什么?
答案 0 :(得分:0)
尝试以下
filter:{categoria:(busca.categoria?categoria:busca.categoria) ,subcat: (busca.subcat?subcategoria:busca.subcat)}
filter参数可以是对象,过滤器对象的属性必须与对象数组的item属性匹配。
答案 1 :(得分:0)
来自Angular documentation
过滤器可以应用于另一个过滤器的结果。这称为“链接”并使用以下语法:{{expression | filter1 | filter2 | ......}}
所以,你只需要管道,它就会变成这样:
<div id="box" ng-repeat="item in produtos | filter:categoria:busca.categoria | filter:subcategoria:busca.subcat | filter:produto:termoBusca>