не понятно зачем пытаться ng-repeat подкладывать функцию, когда он ждёт массив или объект.
Три секунды поиска.
По событию меняем массив, если "внутри ангулара", то список перерендерится, если вне, то добавляем apply. Вроде такие примеры у тебя работают. В чём вопрос?