2017-07-27 122 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();