三步实现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 相关文章推荐
FormValidate 表单验证功能代码更新并提供下载
Aug 23 Javascript
jquery实现的一个文章自定义分段显示功能
May 23 Javascript
JavaScript截取字符串的2个函数介绍
Aug 27 Javascript
原生JavaScript生成GUID的实现示例
Sep 05 Javascript
JavaScript中的冒泡排序法
Aug 03 Javascript
AngularJS中的JSONP实例解析
Dec 01 Javascript
Webpack打包css后z-index被重新计算的解决方法
Jun 18 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
Mar 02 Javascript
JS实现盒子拖拽效果
Feb 06 Javascript
JavaScript实现电灯开关小案例
Mar 30 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
Jun 01 Javascript
jQuery中event.target和this的区别详解
Aug 13 jQuery
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 301转向实现代码
2008/09/18 PHP
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
php知道与问问的采集插件代码
2010/10/12 PHP
PHP编程函数安全篇
2013/01/08 PHP
PHP中each与list用法分析
2016/01/08 PHP
基于jquery的15款幻灯片插件
2011/04/10 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
JS实现DIV容器赋值的方法
2015/12/14 Javascript
jQuery选择器及jquery案例详解(必看)
2016/05/20 Javascript
基于javascript实现表格的简单操作
2016/05/21 Javascript
使用jquery给指定的table动态添加一行、删除一行
2016/10/13 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
2017/01/24 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
2017/02/15 Javascript
利用Vue实现移动端图片轮播组件的方法实例
2017/08/23 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
详解Angular模板引用变量及其作用域
2018/11/23 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
Python 代码性能优化技巧分享
2012/08/07 Python
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
2014/07/11 面试题
市政施工员自我鉴定
2014/01/15 职场文书
十八大闭幕感言
2014/01/22 职场文书
个人四风问题整改措施
2014/10/24 职场文书
2014年个人总结范文
2015/03/09 职场文书
大学生求职自荐信
2015/03/24 职场文书
企业财务经理岗位职责
2015/04/08 职场文书
销售口号霸气押韵
2015/12/24 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
导游词之杭州西湖
2019/09/19 职场文书