2017-04-07 4 views
0

Kann ich den Seitenstatus speichern, wenn ich auf eine neue Seite verschoben habe?Wie Caching von Seiten ionische 2 verwenden?

Ich habe eine Karte und einige Objekte auf der Karte. Ich möchte, wenn Karte geladen ist, dass alle speichern, wenn ich neue Seite verschoben habe und dann komme ich zurück. Das ist ein hoch geladener Prozess (+ Bild wird erneut geladen). Verwenden Sie lealetjs

Vielen Dank!

+0

Für Multi View-Daten verwenden können, ich würde Sache einen Dienst verwenden zu speichern und zu verwalten die geteilten Daten. Wenn Sie Bedenken haben, dass Bilder wieder geladen werden, helfen vielleicht einige Lösungen für das Zwischenspeichern von ihnen hier. dh https://github.com/zyramedia/ionic-image-loader –

+0

Ich denke in ionic 2, der Seitenzustand der Seiten, die auf einen Satz von Navigationsstapeln gepusht werden (dh, bis Sie die Wurzel erneut zu einer anderen Komponente setzen), ist bereits gespeichert, auch im Falle von Ressourcen, wenn die Ressource von derselben geladen wird Quelle, sagen wir ein Bild, wird zwischengespeichert, aber möglicherweise nicht über verschiedene Sitzungen hinweg gepflegt Holen Sie es aus dem Browser => Inspizieren => Quellen und Netzwerk Registerkarte. –

+0

@AdamSzmyd, ja, benutze ich Service, aber wenn ich vor der Seite und wieder Karte Seite bewegt - Karte ist nicht initialisieren (wenn ich nicht von Initialisierungsfunktion aufrufen). Aber wenn ich nicht zurück Knopf, sondern bewegte nächste Seite und vor der Seite - ist alles in Ordnung! Jetzt werde ich mich um alles kümmern (ich werde versuchen, die Aktionen der Zurück-Taste zu ändern). Für die Antwort und den Link - danke! – Alex

Antwort

0

löste ich mein Problem wie folgt:

I app Architektur ändern - ich hinzufügen zwei Registerkarten (Listenelemente Seite und Karte mit Markierungen). Und wenn ich die Kartenseite geöffnet habe, benutze Tabs - Seite geladen und es ist Ok!

Erklärung der Arbeit ionic: Wenn Sie navCtrl.pop() verwenden - aktuelle Seite wird aus dem Speicher gelöscht werden. Aber wenn Sie keine Tabs verwenden können - verwenden Sie navCtrl.push() neu vor der Seite. Und wenn der Benutzer vor der Seite zurückkehren möchte - - löschen Sie die aktuelle Seite, aber bevor die Seite zwischengespeichert wird. Das heißt, aus der Sicht des Benutzers - es ist zurück ist bereits auf der vorherigen Seite, und aus der Sicht des Programmierers - eine neue gleiche Seite wird erstellt.

Und wenn Benutzer vor-bewegen will> vor Seite, verwenden navCtrl.popTo (Index der gewünschten Seite - Sie this.navCtrl.popTo(this.navCtrl.getByIndex([yourPageNumber]));