this.platform.backButton.subscribe(() => {
// get current active page
const view = ***NEED HELP HERE**;
if (view.component.name === 'HomePage') {
// Double check to exit app
if (new Date().getTime() - lastTimeBackPress < timePeriodToExit) {
navigator['app'].exitApp(); // Exit from app
} else {
this.presentToast('Press back again to exit App');
lastTimeBackPress = new Date().getTime();
}
} else {
// go to previous page
this.nav.goBack();
}
});
我试图在Ionic 4中使用backbutton事件,但是我无法在app.component.ts中获得当前页面或视图名称
答案 0 :(得分:0)
goBack()使我失败了。 Ionic4使用navigationBack(url)。我一直在寻找goBack的替代品。不幸的是,goBack仍在代码库中,但未针对Ionic 4进行记录...并且它不适用于所有平台,并且我希望它会根据我阅读的文档消失。我尝试使用它,然后返回到NavigationBack(url)。
我一直在寻找一种非HTML方法以仅在没有导航堆栈的情况下提供defaultHref,因为没有goBack()很像带有defaultHref的离子后退按钮,但是我没有找到了。
因此,对于后退按钮,我已完成此操作(我有两个选项卡,即“主页”和“地图”):
private tab: string;
constructor(
private navCtrl: NavController,
private router: Router
) {
const url = this.router.url;
const urlParts = url.split('/');
this.tab = 'home';
if (urlParts.includes('map')) {
this.tab = 'map';
}
后来:
this.navCtrl.navigateBack(`/tabs/${this.tab}`);
这种方法应该可以帮助您基于URL导航。根据有限的信息,这是我能给出的最佳答案。