Я уже несколько дней стучаю головой в эту тему и не могу понять, что это ...AngularJS Factory После первого вызова API не обрабатывает сервер ping и возвращает устаревшие данные, внутри дочернего липкого состояния
мой маршрут выглядит следующим образом:
$stateProvider.state({
name: 'core.portfolio',
url: '/portfolio',
controller: 'portfolioController',
controllerAs: 'vm',
templateUrl: 'app/portfolio/partials/base.html',
deepStateRedirect: true,
sticky: true,
resolve: {
portfolioPrepService: function (portfolioService) {
return portfolioService.getPortfolio();
},
}
}).state({
name: 'core.portfolio.company',
url: '/1/:companyId',
resolve: {
companyPrepService: companyPrepService
},
views: {
'company': {
controller: 'CompanyController',
controllerAs: 'vm',
templateUrl: 'app/portfolio/company/company.tmpl.html'
}
},
sticky: true,
deepStateRedirect: true
}
);
и мое служение так:
function companyService($http, API_CONFIG) {
var service = {};
service = {
getCompany: getCompany
};
function getCompany(id) {
return $http({
method: 'GET',
url: API_CONFIG.url + 'companies/' + id + '/?embedded={"round":1}',
cache: false
})
}
return service;
}
Когда я сделать вызов API в моем CompanyController, companyService.getCompany(companyId)
служба возвращает несвежий объект, и когда я смотрю на свои логи сервера, я не вижу REST вызовы делаются.
Когда я обновляю страницу, вызов api выполняется снова (согласно PrepService), но при запуске на CompanyController он возвращает устаревшие данные без какого-либо удара REST на сервере.
Кто-нибудь не знает, почему это происходит? Имеет ли это какое-то отношение к разрешению или, возможно, что оно находится в липком состоянии?
Можете ли вы поделиться журналом XHR? –
А, похоже, что под размером это «(из дискового кэша)», но в кеше i установлено значение «ложь», поэтому я не знаю. – Dominooch