지금 당분간 이것을보고 있습니다. angularjs filter (not working)에 대한 stukennedy의 대답은 여러 가지 일을하는 데 도움이되었습니다. 이제 더 많은 기능을 사용하는 데 문제가 있습니다. 정수로 들어오는 데이터를 필터링하려고하는데 필터가 작동하지 않습니다. HTML 값이 문자열을 제공하고 있기 때문에 가정하고 있습니다. 데이터는 API에서 들어오는되기 때문에 내가 잡하고있는 데이터에 제어 할 수 없습니다각도로 정수로 작업하기위한 objFilter를 얻는 방법
<ul class="items">
<li ng-repeat="item in items | objFilter:objects" >
</li>
</ul>
그리고 objFilter
app.filter('objFilter', function() {
return function(items, filter) {
if (!filter){
return items;
}
var result = {};
angular.forEach(filter, function(filterVal, filterKey) {
angular.forEach(items, function(item, key) {
var fieldVal = item[filterKey];
if (fieldVal && fieldVal.toLowerCase().indexOf(filterVal.toLowerCase()) > -1){
result[key] = item;
}
});
});
return result;
};
});
:
<select ng-model="objects.level">
<option value="">All</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
는 또한 내 데이터가 어디에 . 같은 목록에 objFilter를 아무런 문제없이 문자열 값으로 사용하고 있습니다. 누구든지 올바른 방향으로 나를 가리켜 주시겠습니까?
그냥 제안 : typeof'fieldVal'에 따라 if-else를 수행 할 수 있습니다. – harishr