2017-01-31 4 views
0

У меня есть массив элементов, который содержит массив других элементов. Пользователь может фильтровать эти элементы, заполняя форму в интерфейсе. Он работает, но теперь у меня есть фильтр, который нужно выполнить только для первого элемента массива, который находится внутри этих элементов. Что «я хочу», чтобы сделать это:AngularJS Свойство фильтра из первого элемента массива

<tr ng-repeat="item in items | filter: itemSearch | filter: { 
        my_object: { 
         propertyA: items_filter.propertyA, 
         propertyB: items_filter.propertyB, 
         propertyC[0].status: items_filter.status //here 
        } 
       }"></tr> 

Я получаю сообщение об ошибке:

vendor.min.js:16631 Error: [$parse:syntax] Syntax Error: Token '[' is unexpected, expecting [}] at column 401 of the expression [items | filter: itemsSearch | filter: { 

Как я могу фильтровать свойство первого элемента массива?

+0

Как это ?: http://stackoverflow.com/questions/ 20715726/how-to-call-one-filter-from-another-filter-in-angle-js – lplatz

+1

это случай, который потребует настраиваемого фильтра; эта логика слишком сложна для фильтра фильтра «фильтр». – Claies

ответ

0

Я создал пользовательский фильтр на основе этого ответа: https://stackoverflow.com/a/16479421/924002

Таким образом, окончательный код будет:

<tr ng-repeat="item in items | filter: itemSearch | filter: { 
        my_object: { 
         propertyA: items_filter.propertyA, 
         propertyB: items_filter.propertyB 
        } 
       } | filter:criteriaMatch(items_filter.status)"></tr>