私は数日間この頭を叩いていて、それを理解できないようです...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;
}
私は私のCompanyControllerでAPIの呼び出しを行い、 companyService.getCompany(companyId)
サービスは、古いオブジェクトを返す、と私は私のサーバーのログを見ると、私はすべてのRESTが行われて呼び出しが表示されません。
私はページをリフレッシュすると、(PrepServiceに従って)APIコールが再度行われますが、CompanyControllerでトリガされると、サーバー上でRESTヒットのない古くなったデータが返されます。
これはなぜ起こっているのですか?解決策と関係があるのでしょうか、それとも粘着状態にあるのでしょうか?
XHRログを共有できますか? –
ああ、サイズ(ディスクキャッシュから)のように見えますが、私はキャッシュがfalseに設定されているので、私はこの時点では無名です。 – Dominooch