三步实现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的仿Windows Aero弹出窗(漂亮的关闭按钮)
Sep 28 Javascript
javascript各浏览器中option元素的表现差异
Apr 07 Javascript
IE6浏览器下resize事件被执行了多次解决方法
Dec 11 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
May 17 Javascript
与Math.pow 相反的函数使用介绍
Aug 04 Javascript
jQuery插件expander实现图片翻转特效
May 21 Javascript
PHP结合jQuery实现的评论顶、踩功能
Jul 22 Javascript
使用node.js搭建服务器
May 20 Javascript
JavaScript事件发布/订阅模式原理与用法分析
Aug 21 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
Jun 19 jQuery
微信小程序左滑删除实现代码实例
Sep 16 Javascript
Javascript表单序列化原理及实现代码详解
Oct 30 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
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
ZF等常用php框架中存在的问题
2008/01/10 PHP
php中的登陆login实例代码
2016/06/20 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
关于JavaScript命名空间的一些心得
2014/06/07 Javascript
javascript常用的方法整理
2015/08/20 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
React快速入门教程
2017/01/17 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
2017/05/26 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
2017/08/10 jQuery
JS删除数组里的某个元素方法
2018/02/03 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
js对象数组和对象的使用实例详解
2019/08/27 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
使用Python批量修改文件名的代码实例
2019/01/24 Python
wxPython实现文本框基础组件
2019/11/18 Python
python在不同条件下的输入与输出
2020/02/13 Python
家乐福巴西网上超市:Carrefour巴西
2016/10/31 全球购物
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
校班主任推荐信范文
2013/12/03 职场文书
土木工程专业个人求职信
2013/12/30 职场文书
幼儿园小班教师寄语
2014/04/03 职场文书
设计顾问服务计划书
2014/05/04 职场文书
分公司总经理岗位职责
2014/08/03 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
专项资金申请报告
2015/05/15 职场文书
Python标准库pathlib操作目录和文件
2021/11/20 Python
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记