问题描述
我试图弄清楚如何在使用onsen uis ons-navigator执行popPage()时检查在哪个页面上。 我尝试了以下操作,但无论如何,它们都始终返回false:
this.navigator.nativeElement.popPage().then((page: any) => {
console.log("instanceof:",page instanceof browsePageComponent);
console.log("typeof:",page instanceof browsePageComponent);
console.log("isbrowsePage:",page === browsePageComponent);
console.log("isbrowsePage:",page == browsePageComponent);
});
一些上下文: 像这样在我的角度应用程序中引用了Navigator:
@ViewChild('navigator') navigator: ElementRef;
在调试之后,我注意到页面似乎肯定包含对其导航到的页面的引用。我只是想不通如何检查即时消息是否在特定页面上。
解决方法
我通过使用pushOptions对象解决了这个问题。它包含对页面类的引用:
this.navigator.nativeElement.popPage().then((page: any) => {
const currentPage = page.pushedOptions.page;
if(currentPage === BrowsePageComponent){
console.log("Im on the browse page.");
}
});