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