11
A
回答
33
据the official Ionic docs,您可以覆盖的NavBar组件的backButtonClick()
方法:
import { ViewChild } from '@angular/core';
import { Navbar } from 'ionic-angular';
@Component({
selector: 'my-page',
template: `
<ion-header>
<ion-navbar>
<ion-title>
MyPage
</ion-title>
</ion-navbar>
</ion-header>
<ion-content>
...
</ion-content>
`
})
export class MyPage {
@ViewChild(Navbar) navBar: Navbar;
constructor(private navController: NavController){}
ionViewDidLoad() {
this.navBar.backButtonClick = (e:UIEvent)=>{
// todo something
this.navController.pop();
}
}
}
1
如果你想太多手动做到这一点:
添加到您的page.html
<ion-header>
<ion-toolbar>
<ion-buttons start>
<button (click)="goBack()" royal>
<ion-icon name="arrow-round-back"></ion-icon>
</button>
</ion-buttons>
<ion-title>Details page</ion-title>
</ion-toolbar>
</ion-header>
添加在您的page.ts文件:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
@Component({
templateUrl: 'build/pages/awesome/awesome.html',
})
export class AwesomePage {
constructor(private navCtrl: NavController) {
}
goBack(){
this.navCtrl.pop();
}
}
9
您需要先添加hideBackButton
到ion-navbar
。它将删除默认的后退按钮。
然后你添加你自己的按钮,你可以轻松地用一个点击事件来管理。
的代码:
<ion-header>
<ion-navbar hideBackButton>
<ion-buttons left>
<button ion-button (click)="doYourStuff()">
<ion-icon class="customIcon" name="arrow-back"></ion-icon>
</button>
</ion-buttons>
<ion-title>Page Title</ion-title>
</ion-navbar>
</ion-header>
doYourStuff()
{
alert('cowabonga');
this.navCtrl.pop(); // remember to put this to add the back button behavior
}
最后一件事:CSS。
该图标将比通常的后退按钮小。如果您想使其与Ionic2中使用的默认类似,您需要增加其大小。
.customIcon {
font-size: 1.7em;
}
1
对于自定义默认返回按钮的动作,你需要重写backButtonClick()方法的NavBar组件。
在你的“customClass.ts”导入导航栏组件。创建auxMethod以覆盖默认行为并在您的ionViewDidLoad方法中调用。
import { Navbar } from 'ionic-angular';
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()
}
}
}
此代码已在离子3.
0
为了防止有人正在寻找过测试。 Ionic 3提供生命周期事件。 “ionViewDidLeave”或“ionViewWillLeave”可用于此目的。
查阅文档以查看更多活动。 https://ionicframework.com/docs/api/navigation/NavController/
相关问题
- 1. 离子2后退按钮
- 2. 离子去除后退按钮和显示菜单按钮
- 3. 如何避免[navpush]生成的后退按钮(处理生成后退按钮)
- 4. 离子:如何显示后退按钮
- 5. 生成后退键事件
- 6. 单击浏览器后退按钮时如何调用事件
- 7. 单击后退按钮之前处理事件
- 8. 单击后退按钮后处理GUI
- 9. 如何更改离子2中后退按钮的标签?
- 10. 分配后退按钮事件以形成Android中的按钮
- 11. UIBarButtonItem离后退按钮
- 12. 单击事件按钮5次点击后禁用按钮
- 13. 离子导航后退按钮不能在离子v1工作
- 14. Xamarin导航栏后退按钮单击
- 15. 请在单击后退按钮UWP
- 16. ListBox和selectedIndexChanged事件后,用户点击后退按钮
- 17. UIWebView按钮单击事件
- 18. WPF按钮单击事件
- 19. 单击事件按钮
- 20. jquery按钮单击事件
- 21. 离子2 /角2:穿越点击触发2事件:在按钮和它后面的元素
- 22. 自动完成更改按钮单击后发生事件触发
- 23. Android手机硬件后退按钮不点火“后退按钮”事件,有时
- 24. 翻译按钮离子2
- 25. 如何覆盖离子中的Android硬件后退按钮?
- 26. android 4.4离子硬件按钮后退关闭键盘
- 27. 在Android中添加硬件后退按钮到离子的Home
- 28. 集成Unity与Eclipse:后退按钮单击
- 29. 在按钮中的C#后退事件
- 30. 捕捉后退按钮导航事件
你不能,为什么不只是添加自己的? – LeRoy
@LeRoy究竟是你添加自己的?对不起,我是新开发的ionic2 .. –
你需要在你的页面做什么?您是否需要处理*仅*后退按钮上的点击,或者想法是在用户离开页面时执行某些操作? – sebaferreras