三步实现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 相关文章推荐
Prototype使用指南之range.js
Jan 10 Javascript
fix-ie5.js扩展在IE5下不能使用的几个方法
Aug 20 Javascript
jQuery的三种$()
Dec 30 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
Dec 26 Javascript
微信小程序canvas写字板效果及实例
Jun 15 Javascript
JS FormData上传文件的设置方法
Jul 05 Javascript
如何编写一个d.ts文件的步骤详解
Apr 13 Javascript
对vue事件的延迟执行实例讲解
Aug 28 Javascript
浅谈vue异步数据影响页面渲染
Oct 29 Javascript
基于JavaScript实现十五拼图代码实例
Apr 26 Javascript
原生javascript如何实现共享onload事件
Jul 03 Javascript
JavaScript实现雪花飘落效果
Dec 27 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
在php MYSQL中插入当前时间
2008/04/06 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
php绘制一个扇形的方法
2015/01/24 PHP
Yii清理缓存的方法
2016/01/06 PHP
动态改变textbox的宽高的js
2006/10/26 Javascript
Pro JavaScript Techniques学习笔记
2010/12/28 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
jQuery前端开发35个小技巧
2016/05/24 Javascript
jQuery电话号码验证实例
2017/01/05 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
python 获取文件列表(或是目录例表)
2009/03/25 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
PyQt5实现拖放功能
2018/04/25 Python
Python日志syslog使用原理详解
2020/02/18 Python
基于python计算并显示日间、星期客流高峰
2020/05/07 Python
python 提高开发效率的5个小技巧
2020/10/19 Python
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
介绍一下linux的文件权限
2012/02/15 面试题
大学生实习思想汇报
2014/01/12 职场文书
网络信息安全承诺书
2014/03/26 职场文书
协议书范本
2014/04/23 职场文书
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫