Ionic 2 自定义后退按钮动作

Ionic 2 customize back button action

我想自定义此屏幕截图中提到的后退按钮的点击操作。我希望通过单击我不 return 到上一页,而是到我自己指定的页面,或者在返回之前进行处理。

您可以尝试使用ionViewCanLeave or ionViewWillLeave事件。

请参阅此 issue #9533 并建议区分 "back" 导航的离开事件。一旦实施,这对您的用例会很方便。

要自定义默认后退按钮操作,您需要覆盖 NavBar 组件的 backButtonClick() 方法。

第 1 步: 在您的 "custom-class.ts" 中导入 Navbar 组件。创建 auxMethod 以覆盖默认行为并在您的 ionViewDidLoad 方法中调用。

import { Navbar } from 'ionic-angular';
import { ViewChild } from '@angular/core';

export class myCustomClass {
    @ViewChild(Navbar) navBar: Navbar;

    ionViewDidLoad() {
        this.setBackButtonAction()
    }

    //Method to override the default back button action
    setBackButtonAction(){
       this.navBar.backButtonClick = () => {
       //Write here wherever you wanna do
          this.navCtrl.pop()
       }
    }
}

此代码已在 ionic 3 中测试。

您只需要从 ViewController

的堆栈中删除当前索引

从 'ionic-angular' 导入 { ViewController};

      constructor(public navCtrl: NavController, public viewCtrl: ViewController) {
      }


this.navCtrl.push("APage").then(() => {
      const index = this.viewCtrl.index;
      this.navCtrl.remove(index,1);
    });