如何在不重新加载离子页面的情况下同步模态消除的firebase数据?

时间:2017-06-24 14:42:42

标签: javascript ionic-framework ionic2 ionic3

我正在使用模态来获取将保存在firebase中的表单值。我正在从firebase中检索已保存的数据并在页面中显示它。但是当我解除表单提交上的模态时,我的价值没有得到更新。看起来每次我解雇模态时我都要重新加载我的构造函数。有没有更好的方法来更新数据而无需在模态onWillDismiss上重新加载构造函数?

我的主页组件

int imin = std::numeric_limits<int>::min(); // minimum value
int imax = std::numeric_limits<int>::max(); //or INT_MAX

我的模态组件

    export class HomePage {
      items: any = []
      roomData:any;
      constructor(public navCtrl: NavController,public modal:ModalController,public navParams:NavParams,public auth:AuthProvider,public af:AngularFireModule) {
        this.roomData=auth.getRoomData();
        console.log('Rooms data from firebase',this.roomData)
        this.items.push(this.roomData)
        console.log(this.items);
      }
      addItem(){
        var modal = this.modal.create(AddRoomModalPage);
        modal.present();
        // modal.onWillDismiss(function(success,err){
        //   if(err){
        //     return console.log('thsk');      
        //   }else{

        //   }
        // })
      }

    }

非常感谢任何帮助。提前谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用ModalController的onDismiss()方法。简单的例如:

let modal = Modal.create(myModal, { data: [...] });

// Getting data from the modal:
modal.onDismiss(data => {
    // Update your props here
    console.log('MODAL DATA', data);
});

this.nav.present(modal);

答案 1 :(得分:0)

也许您可以在模式中使用ionViewWillLeave()或在ionViewWillEnter()中使用HomePage来获取此事件。

请参阅官方文档here