在我的离子2应用程序内我有3个选项卡。其中一个标签有一个集成的iFrame。我知道这不是最好的方法,但目前我别无选择。每次如果我回到带有iFrame的标签,我需要刷新它。我怎样才能做到这一点。
目前我在tabs.html中设置:
<ion-tabs (ionChange)="tabChange()">
tabs.ts中的Funktion tabChange()发布一个事件:
this.events.publish('tabChange', this.change)
并在iframe的页面中我必须订阅此事件:
constructor(public navCtrl: NavController, public events: Events) {
this.events.subscribe('tabChange', (n) => {
// refresh iFrame here
})
}
谢谢你的帮助。
好的,我找到了解决方案。 event.subscribe
必须在ionViewDidEnter
内部而不是构造函数,因此每当我进入带有iframe的页面时都会调用它。
ionViewDidEnter(){
this.events.subscribe('tabChange', (n) => {
let src: string = this.myiframe.nativeElement.src;
this.myiframe.nativeElement.src = src;
this.events.unsubscribe('tabChange')
})
}