Size: a a a

Ionic - русскоговорящее сообщество

2020 March 25

AS

Anatoly Shirokov in Ionic - русскоговорящее сообщество
Ć¥β€ŘŇΔŦƗĆ
Нет. Ща откопаю там вроде есть у роутера метод проверки может ли идти назад
Спасибо! Так-то я смотрел здесь https://angular.io/api/router/Router , но ничего близкого не нашел
источник

AS

Anatoly Shirokov in Ionic - русскоговорящее сообщество
о, может через https://angular.io/api/router/Navigation ?
источник

AS

Anatoly Shirokov in Ionic - русскоговорящее сообщество
если у него previousNavigation == null
источник

Ć

Ć¥β€ŘŇΔŦƗĆ in Ionic - русскоговорящее сообщество
Я вот честно не помню где именно видел
источник

Ć

Ć¥β€ŘŇΔŦƗĆ in Ionic - русскоговорящее сообщество
но точно был метод
источник

Ć

Ć¥β€ŘŇΔŦƗĆ in Ionic - русскоговорящее сообщество
проверяющий есть ли в истории страницы или это первая страница
источник

Ć

Ć¥β€ŘŇΔŦƗĆ in Ionic - русскоговорящее сообщество
как раз таки то ли Simon туториал вел
источник

Ć

Ć¥β€ŘŇΔŦƗĆ in Ionic - русскоговорящее сообщество
попробуй через это
источник

Ć

Ć¥β€ŘŇΔŦƗĆ in Ionic - русскоговорящее сообщество
Anatoly Shirokov
если у него previousNavigation == null
+
источник

AS

Anatoly Shirokov in Ionic - русскоговорящее сообщество
не, currentNavigation возвращает null
источник

AS

Anatoly Shirokov in Ionic - русскоговорящее сообщество
у роутера
источник

AS

Anatoly Shirokov in Ionic - русскоговорящее сообщество
    this.platform.backButton.subscribe(()=>{
     this.logger.log(`back button pressed: ${this.router.url}`);
     const n = this.router.getCurrentNavigation();
     if( n ) {
       this.logger.log(`current navigation: inital: ${n.initialUrl}, final: ${n.finalUrl}`);
     }
   });
источник

AS

Anatoly Shirokov in Ionic - русскоговорящее сообщество
if( n) — не отрабатывает
источник

Ć

Ć¥β€ŘŇΔŦƗĆ in Ionic - русскоговорящее сообщество
   this.platform.registerBackButtonAction(() => {
     // Catches the active view
     let nav = this.app.getActiveNavs()[0];
     let activeView = nav.getActive();                
     // Checks if can go back before show up the alert
     if(activeView.name === 'HomePage') {
         if (nav.canGoBack()){
             nav.pop();
         } else {
             const alert = this.alertCtrl.create({
                 title: 'Fechar o App',
                 message: 'Você tem certeza?',
                 buttons: [{
                     text: 'Cancelar',
                     role: 'cancel',
                     handler: () => {
                       this.nav.setRoot('HomePage');
                       console.log('** Saída do App Cancelada! **');
                     }
                 },{
                     text: 'Fechar o App',
                     handler: () => {
                       this.logout();
                       this.platform.exitApp();
                     }
                 }]
             });
             alert.present();
         }
     }
 });
источник

Ć

Ć¥β€ŘŇΔŦƗĆ in Ionic - русскоговорящее сообщество
Но это в Ionic 3
источник

Ć

Ć¥β€ŘŇΔŦƗĆ in Ionic - русскоговорящее сообщество
источник

AS

Anatoly Shirokov in Ionic - русскоговорящее сообщество
Ć¥β€ŘŇΔŦƗĆ
   this.platform.registerBackButtonAction(() => {
     // Catches the active view
     let nav = this.app.getActiveNavs()[0];
     let activeView = nav.getActive();                
     // Checks if can go back before show up the alert
     if(activeView.name === 'HomePage') {
         if (nav.canGoBack()){
             nav.pop();
         } else {
             const alert = this.alertCtrl.create({
                 title: 'Fechar o App',
                 message: 'Você tem certeza?',
                 buttons: [{
                     text: 'Cancelar',
                     role: 'cancel',
                     handler: () => {
                       this.nav.setRoot('HomePage');
                       console.log('** Saída do App Cancelada! **');
                     }
                 },{
                     text: 'Fechar o App',
                     handler: () => {
                       this.logout();
                       this.platform.exitApp();
                     }
                 }]
             });
             alert.present();
         }
     }
 });
Да, понятно. Проверка на имя компонента
источник

Ć

Ć¥β€ŘŇΔŦƗĆ in Ionic - русскоговорящее сообщество
Anatoly Shirokov
Да, понятно. Проверка на имя компонента
Ниже
источник

Ć

Ć¥β€ŘŇΔŦƗĆ in Ionic - русскоговорящее сообщество
Условие
источник

Ć

Ć¥β€ŘŇΔŦƗĆ in Ionic - русскоговорящее сообщество
Не на имя компонента а ниже
источник