2017-02-03 2 views
0

Я пытаюсь справиться с кнопкой в ​​ионной 2 ниже мой андроиде назад мой код, который позволит пользователю выйти из приложения, когда они щелкнули с домашней страницы или страницы входаИонных 2: Обращение андроида кнопка назад

let alert = this.alertCtrl.create({ 
      title: 'Kmart', 
      message: 'Do you want exit kmart app ?', 
      buttons: [ 
       { 
       text: 'Cancel', 
       role: 'cancel', 
       handler:() => { 
        this.logger.info("cancel clicked") 
       } 
       }, 
       { 
       text: 'ok', 
       handler:() => { 
        this.platform.exitApp(); 
       } 
       } 
      ] 
      }); 

     this.platform.registerBackButtonAction(() => { 
      console.log('back button pressed') 
      if (this.navCtrl.canGoBack()) { 
      console.log('nav can go back') 
      this.navCtrl.pop() 
      } else { 
      //here i have to show the alert for login and home page 
      alert.present(); 
      } 
     }, 100); 

выше фрагмент кода помещается в мой home.ts файл

я не в состоянии получить текущее имя страницы, так что я могу сделать мое приложение, чтобы выйти.

Как выйти из приложения, когда пользователь дважды нажимает на приложение, когда он находится дома или на экране входа в систему.

ответ

0

Использование

getActive() который возвращает ViewController текущего экземпляра компонента проверки. Использование ViewChild получить NavController в app.component.ts Набор #mynav в шаблоне

шаблона: <ion-nav #myNav [root]="rootPage"></ion-nav>

В классе компонентов:

@ViewChild('myNav') navCtrl: NavController 
//to check the condition 
let view = this.navCtrl.getActive(); 
if(view instanceof HomePage) 

Проверить ionic forum discussion

+0

'ИСКЛЮЧЕНИЕ: Нет поставщика для t! 'эта ошибка, с которой я столкнулся –

+0

getActive возвращает viewController .. может быть, попробуйте ввести viewcontroller в конструкторе. –

+0

или это может быть несвязанная проблема ... –

Смежные вопросы