У меня возникли проблемы с обновлением данных, на мой взгляд. У меня есть служба, которая возвращает данные, и я вижу в консоли, что она загружает самый новый пост.
Однако в моем приложении Ionic новейшая запись не отображается. Я звоню в службу в ionViewDidEnter, и я даже пытался принудительно обновить представление, используя NgZone в Angular. Пока что ни одно решение не сработало.
Я также пытался использовать applicationRef.tick (), но также не помог.
Работает нормально, когда в браузере отключаю кеш. Тогда я могу увидеть новейший пост. Но он не работает на моем устройстве, так как новые данные не отображаются после кэширования первых данных.
У вас есть идеи, как решить эту проблему?
Это мой машинописный файл, и вы можете увидеть мою ионную информацию ниже.
/**
* @description this is where the data loads from the service. This
event always fires. It is a way of stopping caching in the app.
*/
ionViewDidEnter() {
this.zone.run(() => {
this.loadItems();
});
}
/**
* @description loads all items
*/
loadItems() {
// Create the loader
let loader = this.loadingController.create({
content: "Getting data.."
});
loader.present();
// Get the most recent 100 posts
this.itemApi.getItems(100).then(data => {
loader.dismiss();
this.posts = data
this.initializeItems();
});
}
/**
* @description set the new data equal to the items returned.
*/
initializeItems() {
// The data is reset to all items
this.zone.run(() => {
this.items = this.posts;
});
}
Моя ионная информация:
cli packages:
@ionic/cli-utils : 1.19.2
ionic (Ionic CLI) : 3.20.0
глобальные пакеты:
cordova (Cordova CLI) : 8.0.0
местные пакеты:
@ionic/app-scripts : 1.3.7
Cordova Platforms : android 6.4.0 ios 4.5.4
Ionic Framework : ionic-angular 3.1.1
Система:
Node : v8.10.0
npm : 5.6.0
OS : macOS High Sierra
Переменные среды:
ANDROID_HOME : not set