Aus irgendeinem Grund bekomme ich die Funktion zweimal aufgerufen und ich kann nicht herausfinden, warum.ngOnInit und Konstruktor werden zweimal aufgerufen
Ich sehe diese Frage hier
die in diesem Github Ausgabe verweist
https://github.com/angular/angular/issues/6782
Aber das scheint ich Import der Datei an mehreren Stellen vorzuschlagen, die ich don Ich glaube nicht, dass es so ist.
So weit ich weiß, nutze ich die lonic loading von Ionic 3. Hier
ist ein Link zu einem abgespeckten GitHub Repo können Sie lokal ausführen, das Problem zu sehen (ich bin traurig, dass ich nicht den besten Weg, herauszufinden, bekommt dies in Plunker zu laufen oder codepen)
https://github.com/Jordan4jc/ionic-init-example
das Konzept hat der Haupt-App zunächst aus dem laden ein Token laden, dann überprüfen, und wenn es nach wie vor gültige Route zum EventsPage
aber wenn es nicht ist würde es den Weg zu einem LoginPage
In diesem Beispiel I fälschen Sie es und tun Sie nur so, als ob der Token gültig ist und gehen Sie zum EventsPage
, wie Sie in der ngOnInit
Funktion sehen (und Ereignis, wenn ich es in den Konstruktor the
console.log verschieben wird zweimal aufgerufen. Dies wird meinen Server treffen, um die neuesten Daten zu erhalten, so dass ich meine API nicht zweimal treffen möchte.
EDIT: Dies ist der Inhalt in den app.component.ts
import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import {Storage} from '@ionic/storage';
@Component({
templateUrl: 'app.html'
})
export class MyApp {
rootPage:any;
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen, storage: Storage) {
platform.ready().then(() => {
storage.ready().then(()=>{
// pretend we loaded a JWT and verified it
this.rootPage = 'EventsPage';
});
splashScreen.hide();
});
}
}
Könnten Sie bitte den Inhalt Ihres 'app.component.ts' Codes hinzufügen? – sebaferreras
@sebaferreras Ich habe den Beitrag mit dem Inhalt der Datei 'app.component.ts' bearbeitet – Jordan