我正在模拟与ionic2的聊天,我想打开一个模态(聊天页面),能够关闭它并重新打开相同的模态(使用之前的消息,关闭模态之前)。
这就是我所做的(我删除了样板代码):
homepage.html
<ion-col><ion-icon name="chatbubbles" (click)="presentChatModal()"></ion-icon></ion-col>
当我点击应该打开我的模态的那个图标(在homepage.html中)时,我在 homepage.ts
中调用此方法presentChatModal() {
this.chatModal = this.modalCtrl.create(ModalPage, {param: this.chats});
this.ModalPage.onDidDismiss(data => {
console.log("messages: "+data);
});
this.chatModal.present();
}
modal.html
<button (click)="dismiss()">CLOSE</button>
modal.ts
constructor(private navCtrl: NavController, private navParams: NavParams, private viewCtrl: ViewController) {
this.chats = navParams.get('param');
}
dismiss() {
this.viewCtrl.dismiss(this.chats);
}
这是我的问题:我可以打开模态,写消息并关闭模态;但如果我打开一个模态,关闭它,重新打开它并再次关闭它,当我第三次打开模态时,我看到相同的消息3次。我想这是因为我每次尝试用presentChatModal
打开它时都会创建一个新的模态。
是否有可能销毁模态,以便每次调用presentChatModal
时我都确定其他MyModalPage
个对象不存在?
如果没有,我该如何解决这个问题?