Как сделать popToRoot на модале от Ionic 3 - PullRequest
0 голосов
/ 25 октября 2019

Мой вопрос довольно прост. Я заметил, что использование popToRoot() в модале не имеет никакого эффекта. pop() работает нормально, в то время как popAll() просто ведет себя как pop().

Я не понимаю, почему это происходит, и также хотел бы знать логику отключения навигации к корню из модалов (иликак перейти от рута к модалу, если это возможно).

export class SomeModal {
    ...
    // The following has no effect, but works if we push to current 
    // page (rather than  create it as a modal)
    this.navCtrl.popToRoot()
}

Ответы [ 2 ]

1 голос
/ 26 октября 2019

Вы можете отклонить модал с помощью переменной и получить root права, когда он вернёт на вашу страницу что-то вроде этого в вашем модале:

constructor(private viewCtrl: ViewController){}

public abort() {
  this.viewCtrl.dismiss({popToRoot: true})

и на вашей странице или что-то ещё:

   modal.onDidDismiss(popToRoot=> {
     if(popToRoot){
     this.navCtrl.popToRoot()
   }
0 голосов
/ 25 октября 2019

Полагаю, вы могли бы использовать .setRoot ():

this.navCtrl.setRoot(*page module*);

Если я помню, .pop () просто отклонит первую страницу в стеке, а popAll () отправит вас в предыдущую версию. setRoot ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...