2017-07-27 120 views
0

目前的情況我離子2應用程序重定向到新的一頁 -如何使用NavController從供應商

我有一個主頁,我把從該頁面的地圖服務來顯示我的應用程序映射。該地圖服務使用標記服務在地圖上顯示不同的標記。現在我想在用戶點擊這個標記的信息窗口時打開一個新頁面。我附上事件偵聽器點擊標記如下窗口和工作正常

marker.addEventListener(GoogleMapsEvent.INFO_CLICK).subscribe(
    data => //Code to navigate to another page, 
    err => console.log("some error on marker listener ", err) 
); 

我想要什麼 -

我想用戶這個點擊監聽器重定向到一個新的頁面

什麼我現在正在做 -

我已經實現了這個功能,通過將公共變量navCtrl從主頁傳遞給標記服務作爲參數並調用推送函數如下

marker.addEventListener(GoogleMapsEvent.INFO_CLICK).subscribe(
    data => navCtrl.push(OrderPickDetailsPage), 
    err => console.log("some error on marker listener ", err) 
); 

問題 - 有沒有更好的方法來做到這一點?

回答

1

,你所做的是被觸發聽者方法時推着頁面的正確和最簡單的方法的一個。

如果在同一頁中的代碼別處推重寫同一個推出代碼,而不是你可以只創建一個函數,並把這些代碼裏面,這樣你可以在課堂上重複使用它,只要你需要它。

private pushOrderPickPage() 
{ 
    this.navCtrl.push(OrderPickDetailsPage); 
} 

無論你在課堂上要調用此,

this.pushOrderPickPage();