Сам контроллер:
.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. Пробовал сделать как
тут, не помогло.