Ionic 2 customize back button action

一笑奈何 提交于 2019-11-29 14:27:36

问题


I want to customize the click-action of the back button mentioned in this screen capture. I want that by clicking I do not return to the previous page but to a page that I specify myself, or do a treatment before going back.


回答1:


For customize default back button action you need override the backButtonClick() method of the NavBar component.

Step 1: In your "custom-class.ts" import Navbar component. Create auxMethod for override the default behavior and called in your ionViewDidLoad method.

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

This code has been tested in ionic 3.




回答2:


You can try to use ionViewCanLeave or ionViewWillLeave event.

See this issue #9533 with proposal to distinguish leave events for "back" navigation. This can be handy for your use case once implemented.




回答3:


You need to just remove the current index from stack of ViewController

import { ViewController} from 'ionic-angular';

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


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


来源:https://stackoverflow.com/questions/41019241/ionic-2-customize-back-button-action

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!