中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ionic3雙擊返回退出應用的方法

發布時間:2020-09-28 15:51:19 來源:腳本之家 閱讀:140 作者:路與飛鳥 欄目:web開發

ionic3 做雙擊退出應用的時候按照網上大神的來,從中遇到了一些問題,用this.app.getRootNav().push(MyPage);跳轉的頁面無法返回,this.app.getActiveNav().pop();這個方法在新的版本中已近被移除了,最后使用另外一種返回方式this.appCtrl.getRootNav().pop();

完整代碼:

1.tabs.ts文件

import {Component, ViewChild} from '@angular/core';
 
import { AboutPage } from '../about/about';
import { ContactPage } from '../contact/contact';
import { HomePage } from '../home/home';
import { MyPage } from '../my/my';
import {Tabs} from "ionic-angular";
 
@Component({
 templateUrl: 'tabs.html'
})
export class TabsPage {
 tab1Root = HomePage;
 tab2Root = AboutPage;
 tab3Root = ContactPage;
 tab4Root = MyPage;
 @ViewChild('mainTabs') tabs:Tabs;
 constructor() {
 
 }
}

2.tabs.html文件

<ion-tabs #mainTabs>
 <ion-tab [root]="tab1Root" tabTitle="定位" tabIcon="ios-pin-outline" ></ion-tab>
 <ion-tab [root]="tab2Root" tabTitle="運輸管理" tabIcon="ios-paper-outline"></ion-tab>
 <ion-tab [root]="tab3Root" tabTitle="賬單管理" tabIcon="logo-yen"></ion-tab>
 <ion-tab [root]="tab4Root" tabTitle="我的" tabIcon="ios-contact-outline"></ion-tab>
</ion-tabs>

3.app.component.ts文件

import {Component, ViewChild} from '@angular/core';
import {Nav, Platform, ToastController,App} from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { Login } from '../pages/login/login';
import { TabsPage } from '../pages/tabs/tabs';
 
@Component({
 templateUrl: 'app.html'
})
export class MyApp {
 rootPage:any;
 public backButtonPressed: boolean = false;
 @ViewChild("myNav") nav: Nav;
 constructor(public platform: Platform,statusBar: StatusBar, splashScreen: SplashScreen,
       public toastCtrl: ToastController,public appCtrl:App) {
  platform.ready().then(() => {
   this.exitApp();
  });
 }
 
 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 Login) {//查看當前頁面是否是登陸頁面
    this.showExit();
    return;
   }
   this.appCtrl.getRootNav().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();
 }
}

4.app.html文件

<ion-nav #myNav [root]="rootPage"></ion-nav>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

拉孜县| 长宁县| 六枝特区| 怀柔区| 永泰县| 通河县| 岢岚县| 雅江县| 明水县| 名山县| 沽源县| 木兰县| 昭通市| 交口县| 济阳县| 鲁甸县| 马公市| 深泽县| 锡林郭勒盟| 宁海县| 同江市| 泰和县| 荥经县| 日照市| 德安县| 郓城县| 深圳市| 隆安县| 淅川县| 灵石县| 鸡泽县| 上蔡县| 新民市| 外汇| 重庆市| 铁岭市| 惠来县| 襄汾县| 察隅县| 乐陵市| 健康|