2016-06-10 111 views
0

我在這方面掙扎在角2.我刷新網址,並希望等待一頁完成加載的URL。然後我想做某事。不幸的是,我沒有成功:如何等待URL重新加載角2應用程序

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

你是什麼意思等待的網址?網址或迴應?什麼事? – micronyks

+0

「我想做什麼,當頁面加載」的問題是什麼? –

+0

我在第一頁(我的默認應用程序頁面)。然後我重定向到另一個網址。我想等待該頁面加載。加載完成後,我想從該新的url地址獲取參數。 –

回答

0

你不能以你想要的方式做到這一點。當你加載一個新的URL時,當前頁面被卸載並且新頁面被加載。

你的2個選項是:

A - 只是有一些JavaScript在新頁面加載時它做它的處理。

B - 建立一個單頁的應用程序

+0

我有一個單獨的頁面應用程序,但我必須通過它們提供的登錄服務轉到其他組件,以便從它們獲取身份驗證令牌,以便有可能向其發送數據請求。 –

+0

然後只需在您的應用的啓動代碼中添加一些代碼以檢查登錄服務參數的URL。如果他們不在那裏,那麼你的應用程序在登錄前運行。如果他們在那裏,那麼它在登錄後運行 – Brandon