如何从 Ionic 3 在模态上 popToRoot

How to popToRoot on Modal from Ionic 3

我的问题很简单。我注意到在模式中使用 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()
}

我猜你可以使用 .setRoot():

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

如果我记得的话,.pop() 只会关闭堆栈中的第一页,而 popAll() 会将您带到之前的 .setRoot();

您可以使用变量关闭模态,并在它 returns 到您的页面时弹出到 root,在模态中是这样的:

constructor(private viewCtrl: ViewController){}

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

并在您的页面或其他内容中:

   modal.onDidDismiss(popToRoot=> {
     if(popToRoot){
     this.navCtrl.popToRoot()
   }