AngularJs 过滤器不是嵌套对象中的数组



我有一个嵌套的JSON数据。我正在使用此 JSON 数据中的 ng-repeat 将对象写入表。但是我想按这个 ng 重复的属性过滤。我该怎么做。

样本:

<tr ng-repeat="i in inspections.analizFirst">
<td>{{$index+1}}</td><td>{{i.analiz}}</td><td>{{i.poi_adi}}</td><td>{{i.mesafe}}</td>
</tr>

它无需过滤器即可工作。但我需要像ng-repeat="i in inspections.analizFirst | filter:{analiz:'ulasim analizi'}"一样过滤

使用控制器:

您可以筛选控制器内的数据,然后在 html 中引用筛选的对象。当您将所有业务逻辑放在控制器中时,它通常更具可读性

创建您自己的过滤器:

如果您计划在应用程序中多次使用此过滤器,也许创建一个新过滤器是个好主意:

appModule.filter('myFilter', function() {
return function(orginalList, arg1, arg2) {
var filteredObject = [];
orginalList.forEach(function(e) {
if(e.analiz === arg1)
filteredObject.push(e) 
})
return filteredObject;
};
})

.html

<tr ng-repeat="i in inspections.analizFirst | myFilter:'ulasim analizi'">
<td>{{$index+1}}</td><td>{{i.analiz}}</td><td>{{i.poi_adi}}</td><td>
{{i.mesafe}}</td>
</tr>

就像这样:

<tr ng-repeat="i in inspections.analizFirst | filter:'ulasim analizi'">
<td>{{$index+1}}</td><td>{{i.analiz}}</td><td>{{i.poi_adi}}</td><td>{{i.mesafe}}</td>
</tr>

最新更新