Javascript 如何访问从父页面声明的选项卡页面的方法
这是我的设想 我在我的navigation.ts中声明了两个选项卡,我想在navigation.ts触发ionViewWillLeave时从ListPage.ts访问名为destroyEvents()的方法 因为当Navigation.ts作为活动页面离开时,它不会调用ListPage.ts的ionViewWillLeave,我在ListPage.ts中重新创建了一个events.subscribe on ionDidLoad,它会创建很多打开的侦听器/订阅者,所以当某个地方触发一个events.publish(string)时,会触发很多创建的侦听器/订阅者 请参见下面的示例代码: navigation.tsJavascript 如何访问从父页面声明的选项卡页面的方法,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
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
}
}