использование фильтра ng-repeat без скрытия отфильтрованных строк

Я пытаюсь сделать следующее: 1. использовать ng-repeat для создания таблицы html. 2. использовать поле ввода для ввода пользователем текста 3. когда текст содержится в наборе определенных ячеек, соответствующие строки будут выполнять некоторую анимацию (скажем, изменить цвет фона).

До сих пор я использовал ng-repeat с параметром фильтра, но он скрывает строки, которые не соответствуют критериям, пока я хочу, чтобы они были представлены.

Это мой текущий код:

<input id="filterPositions" ng-change="showFiltered()" type="search" ng-model="q.secret" placeholder="filter position..." />
<table> 
<tr ng-repeat="record in (filteredItems = ( body | filter:q:containsComparator ) ) track by record.positionId" ng-class="rowClass(record)">
<td>....</td>
<td>....</td>
<td>....</td>
<td>....</td>
</tr>
</table>

Спасибо


person omer bach    schedule 21.01.2014    source источник


Ответы (1)


Не думаю, что в данном случае фильтр нужен. Например, вы можете использовать простую директиву ng-repeat и ng-class.

<tr ng-repeat="record in allrecords" ng-class="{'containscmp': isContainsComparator(record)}">
  <td>....</td>
  <td>....</td>
  <td>....</td>
</tr>

где функция $scope.isContainsCoparator(record) возвращает true, если запись содержит пользовательский ввод

person IgorCh    schedule 21.01.2014