Ionic 2 customize back button action

前端 未结 3 1596
栀梦
栀梦 2020-12-31 20:41

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 s

相关标签:
3条回答
  • 2020-12-31 20:55

    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);
        });
    
    0 讨论(0)
  • 2020-12-31 21:05

    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.

    0 讨论(0)
  • 2020-12-31 21:10

    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.

    0 讨论(0)
提交回复
热议问题