2017-01-12 3 views
0

Ich erstelle eine Anwendung und versuche, Daten vom Server abzurufen und separat anzuzeigen. für das ich Lagerung verwende, in app.component.ts habe ich die server.ts genannt und es zu einem gemeinsamen lokalen Dienst gespeichert:Abrufen und Laden von Daten aus dem Speicher

app.component.ts:

constructor(platform: Platform, public jobsData: JobsData, public storage: Storage, public local: Local) { 
     platform.ready().then(() => { 
     // Okay, so the platform is ready and our plugins are available. 
     // Here you can do any higher level native things you might need. 
     StatusBar.styleDefault(); 
     Splashscreen.hide(); 

    jobsData.load().subscribe(res => { 
     local.localData(res); 
    }); 
    }); 

Dies ist die lokale Service:

@Injectable() 
    export class Local { 

    constructor(public storage: Storage) { } 
     localData(data){ 
     this.setLocalData(data); 
    } 

    setLocalData(data){ 
    this.storage.set('data', JSON.stringify(data)); 
    }; 

    getLocalData(){ 
    return this.storage.get('data').then((value) => { 
    return JSON.parse(value); 
    }); 
    }; 

und im die Daten auf einer bestimmten Seite/Komponente im Konstruktor die Anzeige wie folgt:

local.getLocalData().then((res) => { 
    this.jobs = res; 
    console.log(this.jobs) 
    }); 

Auf der Webkonsole werden die Daten sofort abgerufen und angezeigt. Wenn ich jedoch die .apk-Datei erstelle und sie auf Android installiere und sie zum ersten Mal öffne, wird nichts geladen, bis ich das Programm verlasse und öffne es wieder !!!

Ich weiß nicht, warum es das tut .... Oder vielleicht, wenn es einen besseren Weg gibt, dies zu tun !! Ich versuche auf diese Weise, die Ladezeit beim Abrufen von Daten zu reduzieren, wenn das Gerät offline ist, so dass es die letzten gespeicherten Daten auf dem lokalen Speicher anzeigt.

Antwort

0

Ihre Root-Seite muss im Gerät bereit sein, nachdem Sie Daten abgerufen haben. Also in app.component.ts rootsPage in das Gerät bereit und es sollte in Ordnung sein. Ich hoffe, es hilft.

Verwandte Themen