Ионное обновление с jsdata, кажется, не работает
Мое ионное приложение использует хранилище данных jsdata для кэширования http://www.js-data.io/docs/home.
Я пытаюсь реализовать функцию pull to refresh в моем приложении, используя директиву ion-refresher.
DoRefresh, похоже, вообще не выполняет Get Call.
Когда я нажимаю Pull для обновления, все сообщения console.log в приведенном ниже коде выполняются.
Однако, если я проверяю вкладку Сети, я вообще не вижу, как выполняется вызов Get.
Данные не обновляются, и я не получаю никаких ошибок.
Я не уверен, почему это происходит или что я делаю неправильно.
Мой код:
HTML:
<ion-refresher
pulling-text="Pull to refresh..."
on-refresh="doRefresh()">
</ion-refresher>
контроллер:
.controller('ProfileInfo', function($scope, Profile) {
$scope.load = function() {
$scope.error = undefined;
Profile.findAll().then(function(response) {
$scope.Profile = response[0];
}).catch(function(err) {
$scope.error = err;
});
};
$scope.load();
$scope.doRefresh = function() {
console.log("hi")
$scope.error = undefined;
$scope.Profile = [];
Profile.findAll().then(function(response) {
console.log($scope.Profile)
$scope.Profile = response[0];
console.log($scope.Profile)
console.log("Done")
}).catch(function(err) {
console.log("err", err)
$scope.error = err;
}).finally(function(){
console.log("in finally")
$scope.$broadcast('scroll.refreshComplete');
});
};
});
1 ответ
Внутри вашего doRefresh
метод, вам нужно пройти bypassCache: true
в findAll
все, чтобы заставить его попробовать сделать новый запрос, например,
var query = {};
var options = {
bypassCache: true
};
Profile.findAll(query, options).then(...);
Узнайте больше о поведении DS#findAll
в JSData 2.x.