三步实现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开发者都需要知道的5个小技巧
Jan 08 Javascript
js 3秒后跳转页面的实现代码
Mar 10 Javascript
使用JavaScript获取电池状态的方法
May 03 Javascript
跟我学习javascript的for循环和for...in循环
Nov 18 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
Dec 04 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
Jan 26 Javascript
AngularJs 60分钟入门基础教程
Apr 03 Javascript
angularjs+bootstrap菜单的使用示例代码
Mar 07 Javascript
js实现三级联动效果(简单易懂)
Mar 27 Javascript
关于JS与jQuery中的文档加载问题
Aug 22 jQuery
Vue.js递归组件构建树形菜单
Dec 24 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
Mar 07 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
web方式ftp
2006/10/09 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
php实现socket推送技术的示例
2017/12/20 PHP
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
jQuery+ajax实现实用的点赞插件代码
2016/07/06 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
2018/10/08 Javascript
浅谈javascript错误处理
2019/08/11 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
2009/04/09 Python
对Python 2.7 pandas 中的read_excel详解
2018/05/04 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
财务会计毕业生自荐信
2013/11/02 职场文书
个人优缺点自我评价
2014/01/27 职场文书
班风口号
2014/06/18 职场文书
天猫活动策划方案
2014/08/21 职场文书
金砖之国观后感
2015/06/11 职场文书
2016党校学习心得体会
2016/01/07 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
windows系统安装配置nginx环境
2022/06/28 Servers