三步实现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的inArray 方法介绍
Oct 08 Javascript
jquery实现的一个文章自定义分段显示功能
May 23 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
May 09 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
Aug 24 Javascript
表单中单选框添加选项和移除选项
Jul 04 Javascript
jquery实现图片列表鼠标移入微动
Dec 01 Javascript
原生JS京东轮播图代码
Mar 22 Javascript
JavaScript字符串检索字符的方法
Jun 23 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
Jul 13 Javascript
JS使用贪心算法解决找零问题示例
Nov 27 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
Dec 24 Javascript
Javascript执行上下文顺序的深入讲解
Nov 04 Javascript
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
DedeCMS dede_channeltype表字段注释
2010/04/07 PHP
PHP实现图片旋转效果实例代码
2014/10/01 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
Laravel 5.3 学习笔记之 配置
2016/08/28 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
2020/11/27 PHP
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
AngularJS基础 ng-include 指令简单示例
2016/08/01 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
javascript操作cookie
2017/01/17 Javascript
求js数组的最大值和最小值的四种方法
2017/03/03 Javascript
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
新版小程序登录授权的方法
2018/12/12 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
[01:35]辉夜杯战队访谈宣传片—LGD
2015/12/25 DOTA
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
Django中的cookie和session
2019/08/27 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
2019/09/17 Python
python 多进程队列数据处理详解
2019/12/23 Python
世界上最大的二手相机店:KEN
2017/05/17 全球购物
美国按摩椅批发网站:Titan Chair
2018/12/27 全球购物
文员的职业生涯规划发展方向
2014/02/08 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
学习型班组申报材料
2014/05/31 职场文书
学生安全责任书模板
2014/07/25 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书