Javascript 如何访问从父页面声明的选项卡页面的方法

Javascript 如何访问从父页面声明的选项卡页面的方法,javascript,angular,ionic2,Javascript,Angular,Ionic2,这是我的设想 我在我的navigation.ts中声明了两个选项卡,我想在navigation.ts触发ionViewWillLeave时从ListPage.ts访问名为destroyEvents()的方法 因为当Navigation.ts作为活动页面离开时,它不会调用ListPage.ts的ionViewWillLeave,我在ListPage.ts中重新创建了一个events.subscribe on ionDidLoad,它会创建很多打开的侦听器/订阅者,所以当某个地方触发一个events

这是我的设想

我在我的navigation.ts中声明了两个选项卡,我想在navigation.ts触发ionViewWillLeave时从ListPage.ts访问名为destroyEvents()的方法

因为当Navigation.ts作为活动页面离开时,它不会调用ListPage.ts的ionViewWillLeave,我在ListPage.ts中重新创建了一个events.subscribe on ionDidLoad,它会创建很多打开的侦听器/订阅者,所以当某个地方触发一个events.publish(string)时,会触发很多创建的侦听器/订阅者

请参见下面的示例代码:

navigation.ts

export class NavigationPage{

  @ViewChild('tabOpt') tabOpt: Tabs;

  cmsPage;
  listpage;

  constructor(public navCtrl: NavController, public navParams: NavParams) {
    this.cmsPage = CMSPage;
    this.listpage = ListPage;
  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad NavigationPage');
  }

  ionViewWillLeave(){
   this.listpage.destroyEvents(); // something like this
  }

  tabSelected(tab: Tab){
    //
  }
}
所以在Listpage中,我的代码是

export class ListPage{

      constructor(public navCtrl: NavController, public navParams: NavParams) {}

      ionViewDidLoad() {
        console.log('ionViewDidLoad ListPage');
      }

      destroyEvents(){
        this.events.unsubscribe("user:deleted", someFunction);
      } 

      someFunction(){
         // doing something
      }
    }