Всем привет!
Имею следующий код
<tr ng-repeat="row in $ctrl.rows | filter:$ctrl.filterBy | orderBy : $ctrl.order.by : $ctrl.order.reverse as results track by row.id"
ng-init="$ctrl.afterRepeat = results.length"
>
Через watcher в классе-контроллере отлавливаю событие изменения переменной "$ctrl.afterRepeat", которое происходит по завершении "ng-repeat"-цикла. Да, это извращение, я знаю. :) А так же знаю и пробовал другой, менее извращенный вариант через
....
ng-init="$last && $ctrl.onRepeatEnd()"
....
Проблема в том, что такая в обоих вариантах конструкция прокатывает лишь при первоначальном рендеринге страницы. При последующей фильтрации, когда добавляю фильтрующие символы - нет (т.е. при этом размер repeat-массива должен сужаться, а элементы убираться из DOM'а), а когда убираю фильтрующие символы из input-поля, то - да, срабатывает (т.е. отфильтрованный массив увеличился, новые элементы в DOM добавились).
В общем, как надежно отлавливать событие изменения на ng-repeat?