Angular platform.registerBackButtonAction不工作
我试图在ionic2平台上覆盖angular2中的后退按钮功能。这是我在app.component.ts文件中编写的代码Angular platform.registerBackButtonAction不工作,angular,ionic2,Angular,Ionic2,我试图在ionic2平台上覆盖angular2中的后退按钮功能。这是我在app.component.ts文件中编写的代码 constructor(platform: Platform,public myapp: IonicApp) { this.pltform=platform; this.app=myapp; platform.ready().then(() => { StatusBar.styleDefault(); Sp
constructor(platform: Platform,public myapp: IonicApp) {
this.pltform=platform;
this.app=myapp;
platform.ready().then(() => {
StatusBar.styleDefault();
Splashscreen.hide();
platform.registerBackButtonAction(function(event){
window.alert("back button pressed");
let nav = this.app.getActiveNav();
if (nav.canGoBack()){ //Can we go back?
nav.pop();
}else{
this.platform.exitApp(); //Exit from app
}
});
}
}
在“后退”按钮上,只需单击一次即可进入registerBackButtonAction方法。和this.app.getActiveNav()函数;给出未定义的 您正在使用常规函数回调。
此
指的是函数而不是类。
Ue箭头函数
platform.registerBackButtonAction((event)=>{
window.alert("back button pressed");
let nav = this.app.getActiveNav();
if (nav.canGoBack()){ //Can we go back?
nav.pop();
}else{
this.platform.exitApp(); //Exit from app
}
});
或者使用self
let self = this;
platform.registerBackButtonAction(function(event){
window.alert("back button pressed");
let nav = self.app.getActiveNav();
if (nav.canGoBack()){ //Can we go back?
nav.pop();
}else{
this.platform.exitApp(); //Exit from app
}
});
此代码是否仅适用于一页或所有页?它应适用于所有页。。平台是整个应用程序的单一对象,您正在注册其back按钮。因此,我希望仅在主页上关闭应用程序。如果使用此代码,它将解决我的问题。它将在应用程序范围内进行更改,因此不会仅针对特定页面,而是在导航到主页后生效。它也适用于android硬件后退按钮,不适用于IOS。
let nav=this.app.getActiveNav()代码>这句话是什么我试过很多次了我在应用程序上出错了你知道吗