Как отфильтровать результаты по максимальному значению цены в angularjs - PullRequest
0 голосов
/ 28 сентября 2019

У меня проблема с фильтрацией максимальной цены в ng-repeat, это мой код:

<div class="input-field col s6">
  <i class="material-icons prefix">search</i>
  <input id="icon_prefix" type="text" class="validate" ng-model="maxPrice">
  <label for="icon_prefix">Filtra per prezzo massimo</label>
</div>

<div class="row">
    <div class="col s12 m6 l4"
         ng-repeat="result in results | max:{result.PREZZO<=maxPrice}">

в чем проблема?

Ответы [ 3 ]

2 голосов
/ 28 сентября 2019

Я могу придумать 2 решения,

1) Создать пользовательский фильтр

js

$scope.customFilter = function(result){
    if(result.PREZZO <= $scope.maxPrice){
        return true;
    }
    else{
        return false;
    }
}

html

<div class="col s12 m6 l4" ng-repeat="result in results | filter:customFilter></div>

2) Вы можете просмотреть и отфильтровать свой список по ng-change вашего maxPrice и использовать отфильтрованный массив в вашем ng-repeat.

0 голосов
/ 28 сентября 2019

Вы можете использовать ng-if непосредственно в этом случае

<div class="input-field col s6">
  <i class="material-icons prefix">search</i>
  <input id="icon_prefix" type="text" class="validate" ng-model="maxPrice">
  <label for="icon_prefix">Filtra per prezzo massimo</label>
</div>
<div class="row">
  <div class="col s12 m6 l4" ng-repeat="result in results" ng-if="result.PREZZO <= maxPrice"></div>
</div>
0 голосов
/ 28 сентября 2019

Для этого вам нужно создать собственный фильтр.(Я не знаю, является ли max вашим пользовательским фильтром?)

Вы можете прочитать больше здесь: https://docs.angularjs.org/guide/filter

Другой способ - просто использовать ng-if:

<div class="col s12 m6 l4" ng-repeat="result in results" ng-if="result.PREZZO <= maxPrice">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...