三步实现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 相关文章推荐
一款JavaScript压缩工具:X2JSCompactor
Jun 13 Javascript
Javascript浅谈之引用类型
Dec 18 Javascript
Javascript玩转继承(三)
May 08 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
Nov 23 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
Feb 20 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
Jan 03 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
Sep 28 Javascript
JS实现在文本指定位置插入内容的简单示例
Dec 22 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
Apr 21 Javascript
jQuery中元素选择器(element)简单用法示例
May 14 jQuery
vue富文本框(插入文本、图片、视频)的使用及问题小结
Aug 17 Javascript
vue实现设置载入动画和初始化页面动画效果
Oct 28 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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
php在线生成ico文件的代码
2007/10/09 PHP
PHP 模拟$_PUT实现代码
2010/03/15 PHP
php与paypal整合方法
2010/11/28 PHP
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
jQuery 技巧小结
2010/04/02 Javascript
Javascript下判断是否为闰年的Datetime包
2010/10/26 Javascript
ExpressJS入门实例
2015/01/14 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
zTree节点文字过多的处理方法
2017/11/24 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
2018/12/03 Javascript
javascript实现图片轮播代码
2019/07/09 Javascript
对python同一个文件夹里面不同.py文件的交叉引用方法详解
2018/12/15 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
Pycharm导入anaconda环境的教程图解
2020/07/31 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
python 字符串格式化的示例
2020/09/21 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
Nisbets法国:英国最大的厨房和餐饮设备供应商
2019/03/18 全球购物
党员入党表决心的话
2014/03/11 职场文书
吨的认识教学反思
2014/04/27 职场文书
设备售后服务承诺书
2014/05/30 职场文书
考试作弊被抓检讨书
2014/10/02 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS