如何使用ons-navigatorOnsen UI检查当前页面

问题描述

我试图弄清楚如何在使用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.");
    }
  });
  

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...