我的离子应用程序中有一个按钮,可以从主页打开文章。我想让我的用户通过按设备后退按钮退出应用程序。但是当他们在文章页面上时,我希望它只需按返回按钮就可以返回首页。
我创建了一个自定义的backbutton事件来处理退出应用程序的功能。它可以从首页退出该应用。但是,当按文章页面上的“后退”按钮时,它不会导航回到首页,并且什么也没有发生。当按下返回按钮时,如何使它从文章页面返回首页?
在app.component.ts
中this.platform.backButton.subscribeWithPriority(99, async () => {
if (this.routerOutlet && this.routerOutlet.canGoBack()) {
this.routerOutlet.pop();
} else if (this.router.url === '/home') {
navigator['app'].exitApp();
}
});
我注意到从文章页面触发事件时this.routerOutlet.canGoBack返回false,因此不会触发routerOutlet.pop()。不确定这与我打开文章页面的方式有关吗?
这就是我打开文章页面的方式
viewArticle(articleId) {
let navigationExtras: NavigationExtras = {
state: {
articleId: articleId
}
};
this.navController.navigateForward(['/article'], navigationExtras);
}