三步实现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 相关文章推荐
Stop SQL Server
Jun 21 Javascript
JavaScript 构造函数 面相对象学习必备知识
Jun 09 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
Aug 27 Javascript
Javascript的getYear、getFullYear、getUTCFullYear异同分享
Nov 30 Javascript
javascript实用小函数使用介绍
Nov 11 Javascript
css配合jquery美化 select
Nov 29 Javascript
js和C# 时间日期格式转换的简单实例
May 28 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
Dec 06 Javascript
JavaScript实现弹出广告功能
Mar 30 Javascript
ES6的Fetch异步请求的实现方法
Dec 07 Javascript
解决Layui数据表格显示无数据提示的问题
Nov 14 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
May 09 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
第十二节 类的自动加载 [12]
2006/10/09 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
2015/02/10 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
才发现的超链接js导致网页中GIF动画停止的解决方法
2007/11/02 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
js关于命名空间的函数实例
2015/02/05 Javascript
jquery图形密码实现方法
2015/03/11 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
js+ajax实现获取文件大小的方法
2015/12/08 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
js友好的时间返回函数
2016/08/24 Javascript
JavaScript 深层克隆对象详解及实例
2016/11/03 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
vue cli2.0单页面title修改方法
2018/06/07 Javascript
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
脚手架vue-cli工程webpack的基本用法详解
2018/09/29 Javascript
node和vue实现商城用户地址模块
2018/12/05 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
Vue实现移动端拖拽交换位置
2020/07/29 Javascript
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
Python hashlib模块用法实例分析
2018/06/12 Python
python中scikit-learn机器代码实例
2018/08/05 Python
Python补齐字符串长度的实例
2018/11/15 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
国旗下讲话演讲稿
2014/05/08 职场文书
承诺书格式
2014/06/03 职场文书
航海技术专业毕业生推荐信
2014/07/09 职场文书
人事专员岗位说明书
2014/07/29 职场文书
Django给表单添加honeypot验证增加安全性
2021/05/06 Python
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers