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);
});
我想自定义此屏幕截图中提到的后退按钮的点击操作。我希望通过单击我不 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);
});