platform.registerBackButtonAction不起作用

时间:2017-01-31 09:35:49

标签: angular ionic2

我试图覆盖ionic2平台上的angular2中的后退按钮功能。这是我在app.component.ts文件中编写的代码。

string(63) "Sold for $16,550,062

          as of about 5 weeks ago"

在后退按钮上单击它只在registerBackButtonAction方法中输入一次。和this.app.getActiveNav();给出undefined。

1 个答案:

答案 0 :(得分:0)

您正在使用常规函数回调。 this指的是函数而不是类。 呃箭头功能

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
                }
             });