三步实现ionic3点击退出app程序


Posted in Javascript onSeptember 17, 2019

本文实例为大家分享了ionic3点击退出app程序的具体代码,供大家参考,具体内容如下

其实也很简单。大概分为三步

1.tabs.ts文件需要声明一下

@ViewChild('mainTabs') tabs:Tabs;//声明tabs组件(<ion-tabs #mainTabs >)

2.app.component.ts文件

@ViewChild('myNav') nav: Nav;//声明根组件(<ion-nav #myNav [root]="rootPage">)

3.贴代码  

platform.ready().then(()=>{
this.exitApp();
})
public backButtonPressed: boolean = false;
exitApp() {
  this.platform.registerBackButtonAction(() => {
   //控制modal、系统自带提示框
   let overlay = this.appCtrl._appRoot._overlayPortal.getActive() ||  this.appCtrl._appRoot._modalPortal.getActive();
   if (overlay) {
    overlay.dismiss();
    return;
   }
   let activeVC = this.nav.getActive();
   let page = activeVC.instance;
   if (page.tabs) {
    let activeNav = page.tabs.getSelected();
    if (activeNav.canGoBack()) {
     return activeNav.pop();
    } else {
     return this.showExit();
    }
   }
   if (page instanceof LoginPage) {//查看当前页面是否是登陆页面
    this.showExit();
    return;
   }
   this.appCtrl.getActiveNav().pop();//剩余的情况全部使用全局路由进行操作 
  });
 }
 
 //双击退出函数
 showExit() {
  if (this.backButtonPressed) {
   this.platform.exitApp();
  } else {
   this.presentToast();//再按一次退出
   this.backButtonPressed = true;
   setTimeout(() => {
    this.backButtonPressed = false;
   }, 2000)
  }
 }
 presentToast() {
  let toast = this.toastCtrl.create({
   message: '再按一次退出应用',
   duration: 2000,
   position: 'top'
  });
 
  toast.onDidDismiss(() => {
   console.log('Dismissed toast');
  });
 
  toast.present();
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery.ajax 用户登录验证代码
Oct 29 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
Apr 15 Javascript
chrome下img加载对height()的影响示例探讨
May 26 Javascript
Jquery响应回车键直接提交表单操作代码
Jul 25 Javascript
Angularjs中使用layDate日期控件示例
Jan 11 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
Mar 09 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
May 23 Javascript
Node.js文件编码格式的转换的方法
Apr 27 Javascript
JavaScript实现的反序列化json字符串操作示例
Jul 18 Javascript
Node.js实现简单管理系统
Sep 23 Javascript
JS如何生成动态列表
Sep 22 Javascript
vue实现验证用户名是否可用
Jan 20 Vue.js
ionic3双击返回退出应用的方法
Sep 17 #Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
Sep 17 #Javascript
vue.js购物车添加商品组件的方法
Sep 17 #Javascript
关于vue项目中搜索节流的实现代码
Sep 17 #Javascript
Vue的生命周期操作示例
Sep 17 #Javascript
小程序两种滚动公告栏的实现方法
Sep 17 #Javascript
Vue Extends 扩展选项用法完整实例
Sep 17 #Javascript
You might like
德劲1103的维修打理经验
2021/03/02 无线电
使用PHP制作新闻系统的思路
2006/10/09 PHP
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
PHP中设置时区,记录日志文件的实现代码
2013/01/07 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
php集成开发环境详解
2019/09/24 PHP
js函数获取html中className所在的内容并去除标签
2013/09/08 Javascript
js实现表单提交后不重新刷新当前页面
2016/11/30 Javascript
微信分享调用jssdk实例
2017/06/08 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
[01:18:36]LGD vs VP Supermajor 败者组决赛 BO3 第一场 6.10
2018/07/04 DOTA
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
python写的一个squid访问日志分析的小程序
2014/09/17 Python
Python注释详解
2016/06/01 Python
简述:我为什么选择Python而不是Matlab和R语言
2017/11/14 Python
Java分治归并排序算法实例详解
2017/12/12 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
Python时间序列处理之ARIMA模型的使用讲解
2019/04/02 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
Python笔试面试题小结
2019/09/07 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
Python try except finally资源回收的实现
2021/01/25 Python
信用社主任竞聘演讲稿
2014/05/23 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
可怜妈妈观后感
2015/06/09 职场文书
单位接收证明格式
2015/06/18 职场文书
Python获取百度热搜的完整代码
2021/04/07 Python
MATLAB 全景图切割及盒图显示的实现步骤
2021/05/14 Python