三步实现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 相关文章推荐
js利用事件的阻止冒泡实现点击空白模态框的隐藏
Jan 24 Javascript
动态加载脚本提升javascript性能
Feb 24 Javascript
node.js中的fs.lchown方法使用说明
Dec 16 Javascript
js正则匹配出所有图片及图片地址src的方法
Jun 08 Javascript
关于JS中二维数组的声明方法
Sep 24 Javascript
js省市区级联查询(插件版&amp;无插件版)
Mar 21 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
Nov 28 Javascript
详解Webpack + ES6 最新环境搭建与配置
Jun 04 Javascript
vue实现组件之间传值功能示例
Jul 13 Javascript
vue2.0获取鼠标位置的方法
Sep 13 Javascript
node.js的Express服务器基本使用教程
Jan 09 Javascript
在elementui中Notification组件添加点击事件实例
Nov 11 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
WAR3重制版DOTA 5V5初体验
2020/04/09 DOTA
PHP实现图片裁剪、添加水印效果代码
2014/10/01 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
php生成高清缩略图实例详解
2015/12/07 PHP
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
Javascript实现视频轮播在pc端与移动端均可
2013/09/29 Javascript
js onload处理html页面加载之后的事件
2013/10/30 Javascript
jQuery插件实现多级联动菜单效果
2015/12/01 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
js ajaxfileupload.js上传报错的解决方法
2016/05/05 Javascript
javascript表单事件处理方法详解
2016/05/15 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
2016/06/15 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
javascript类型系统——undefined和null全面了解
2016/07/13 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
基于javascript实现按圆形排列DIV元素(三)
2016/12/02 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
如何实现iframe父子传参通信
2020/02/05 Javascript
Python实现根据指定端口探测服务器/模块部署的方法
2014/08/25 Python
Python切片操作实例分析
2018/03/16 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
Python 字典中的所有方法及用法
2020/06/10 Python
python 实现简易的记事本
2020/11/30 Python
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
电大毕业生自我鉴定
2014/04/10 职场文书
入股协议书范本
2014/11/01 职场文书
2015年幼儿园个人工作总结
2015/04/25 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python
优化Mysql查询的示例
2022/04/26 MySQL