2016-06-10 8 views
0

Ich bin mit diesem in angular 2. Ich aktualisieren die URL und möchte auf eine Seite warten, um das Laden der URL abzuschließen. Dann möchte ich etw. Tun. Leider gelingt mir das nicht:Wie warten, bis die URL in angular 2 neu laden app

getLoginScreen() { 
    return this.http.get(myService.LOGIN_URL) 
.flatMap(result => this.changeBrowserUrl()) 
.subscribe(result => //i want to do sth when the page is loaded//); 
} 

changeBrowserUrl(): Observable<any> { 
return Observable.create(observer => { 
window.location.href = myService.LOGIN_URL; 
observer.next(); 
}); 
} 
+0

Was meinst du mit warten auf die URL? URL oder Antwort? Was ist das? – micronyks

+0

Was ist das Problem mit "Ich möchte etwas tun, wenn die Seite geladen ist"? –

+0

Ich bin auf der ersten Seite (meine Standard-App-Seite). Dann leite ich um, um zu einer anderen URL zu gehen. Ich möchte warten, bis diese Seite geladen ist. Wenn das Laden beendet ist, möchte ich den Parameter von dieser neuen URL-Adresse abrufen. –

Antwort

0

Das kann man nicht so machen, wie man es versucht. Wenn Sie eine neue URL laden, wird die aktuelle Seite entladen und die neue Seite wird geladen.

Ihre 2 Optionen sind:

A - gerade in der neuen Seite einige JavaScript haben, die seine Verarbeitung tut, wenn es geladen wird.

B - Erstellen Sie eine einzelne Seite App

+0

ich eine einzelne Seite app, aber ich auf die andere Komponente durch den Login-Dienst von ihnen zu haben, um die Möglichkeit zu machen Anfragen nach Daten, um sie sie bieten, zu bekommen die Authentifizierungs-Token gehen muss. –

+0

dann fügen Sie einfach einen Code zu Ihrer App Startup-Code die URL für den Login Service-Parameter zu überprüfen. Wenn sie nicht vorhanden sind, wird Ihre App vor der Anmeldung ausgeführt. Wenn sie da sind, dann läuft es NACH dem Login – Brandon