m0sk1t
@m0sk1t
SPA web-developer

AngularJS, IonicFramework почему контроллер отрабатывает только первый раз?

Сам контроллер:
.controller('FavsCtrl', function($scope, $http, Clubs) {
        $scope.favs = Clubs.getFavs();
        if ($scope.favs.length) {
            $http.get('http://localhost:6789/club/' + $scope.favs.join(",")).success(function(data, status, headers, config) {
                $scope.favs = data;
            }).error(function(data, status, headers, config) {
                alert('Error '+status+', data is: '+data);
            }).finally(function(data) {
            });
        } else {
            alert('Нет избранного');
        }
    }
})


Маршрут:
.state('tab.favs', {
                url: '/favs',
                views: {
                    'tab-favs': {
                        templateUrl: 'templates/tab-favs.html',
                        controller: 'FavsCtrl'
                    }
                }
            })


Фабрика:
.factory('Clubs', function() {
        return {
            getFavs: function() {
                var favs = localStorage.getItem("favs");
                return (favs ? JSON.parse(favs) : []);
            }
        }
    });

В итоге при путешествии по маршрутам выяснилось, что метод контроллера отрабатывает только первый раз, несмотря на изменение избранного и, соответственно возвращаемого значения фабрики. Срабатывает только при обновлении страницы (что не есть хорошо, ибо приложение будет компилироваться под мобильные платформы). Подскажите, пожалуйста, ЧЯДНТ, коллеги?
P.S. Пробовал сделать как тут, не помогло.
  • Вопрос задан
  • 2396 просмотров
Решения вопроса 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
А версия какая? Они там типа кэш запилили... так что нужно отлавливать по ивентам либо отключить кеширование.
Ответ написан
DigitalSmile
@DigitalSmile
http://brainstorage.me/digitalsmile
C Ionic не работал, но почему имеется ожидание, что контроллер будет срабатывать несколько раз? Вы гуляли по приложению, а потом возвращались на эту страницу?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы