@Ivan., да просто понимаешь, чем дольше живу - тем больше каких-то заебов в жизни и все меньше времени свободного. И на пыху тоже мало совсем остается.
Если метод внутри контроллера на большом проекте, в 99% случаев работает, а в 1 нет:
1. Засовываем метод в $timeout(метод) и все работает. Например $timeout(vm.innerMethod);
2. Если не прокатило, то ставим $timeout сначала 100, потом 1000 - обычно всегда работает. Хотя это адские костыли, но иногда бывает нужно, например при работе с socket.io. Например $timeout(vm.innerMethod, 1000); Или ставим таймаут на 100 и на 1000 и проверяем наличие определенных данных - если их нет, то дергает метод.
3. Попробуйте руками добавить $scope.$digest() после выполнения метода. Хз почему, но иногда срабатывает.
Хотя конечно все вышеперечисленное полное гамно, но иногда выручает в непонятной ситуации.