我必须创建一个自定义过滤器才能仅应用于我的模型的属性。 以下是过滤器:
.filter("cpesFilter", function() {
return function (arrayToFilter, value) {
var output = [];
if (value == undefined || value == "") {
output = arrayToFilter;
}
else {
angular.forEach(arrayToFilter, function (arrayItem) {
if (arrayItem.connettivita == value) {
output.push(arrayItem);
}
});
}
return output;
};
});
这里是HTML:
<tbody class="no_body_bordered"><!-- | cpesFilter:search.connettivita -->
<tr ng-repeat="modello in cpes.modelli | filter:{ prodotto: search.prodotto, vendor: search.vendor, connettivita:cpesFilter(cpes.modelli, search.connettivita) } " ng-click="selectModello(modello.upc)"
ng-class="{ selected: modello.upc === upcCpeSelezionato }" class="selectable-row">
<td style="width:15%">{{ modello.vendor }}</td>
<td style="width:15%">{{ modello.prodotto }}</td>
<td style="width:20%">{{ modello.connettivita }}</td>
<td style="width:10%">{{ modello.voipFxs }}</td>
<td style="width:10%">{{ modello.voip }}</td>
<td style="width:10%">{{ modello.wifi ? "SI" : "NO" }}</td>
<td style="width:10%">{{ modello.vpnS2s ? "SI" : "NO" }}</td>
<td style="width:10%">{{ modello.vpnServer ? "SI" : "NO" }}</td>
</tr>
</tbody>
通过这种方式,我从未进入过滤器。但是如果我以这种方式应用过滤器,它就可以工作:
<tr ng-repeat="modello in cpes.modelli | cpesFilter:search.connettivita">
但是,它不是我想要的。如何更正生产线?
谢谢