Konstantin Kudelko: Потому что ты перезаписываешь массив candidates, и каждый раз фильтруется отфильтрованный ранее массив. храните данные в сервисе, там сделайте метод который принимает фильтр, и возвращает измененный массив, при этом оригинальный никогда не должен меняться.
topdetal: Когда темплейт подгрузиться, он посылает уведомление что загрузился, в контроллере вы можете его поймать с помощью
$scope.$on('$includeContentLoaded', function(){
//тут исполняете свой скрипт инициализирующий слайдер
});