javascript - 如何在模式关闭时同步 firebase 数据而不用 ionic 重新加载页面?

标签 javascript ionic-framework ionic2 ionic3

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

我的主页组件,

    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{

        //   }
        // })
      }

    }

我的模态组件,

export class AddRoomModalPage {
   public roomDetails:FormGroup;
  constructor(public navCtrl: NavController, public auth:AuthProvider,public navParams: NavParams,public formBuilder: FormBuilder,public viewCtrl:ViewController) {
    this.roomDetails = formBuilder.group({
    roomName: ['', Validators.required],
    idealFor:['',Validators.required],
    roomMates: ['', Validators.required],
    location: ['', Validators.required],
      reqID:[false,Validators.required]
}); 
  }

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

  addRoom(){
    if(this.roomDetails.valid){
      console.log(this.roomDetails.value);
      this.auth.addNewRoom(this.roomDetails.value);
      this.viewCtrl.dismiss();
    }else{
      console.log("form invalid")
    }

  }

  closeModal(){
    this.viewCtrl.dismiss();
  }

任何帮助将不胜感激。提前致谢!

最佳答案

您可以使用 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);

关于javascript - 如何在模式关闭时同步 firebase 数据而不用 ionic 重新加载页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44737562/

相关文章:

javascript - 使用 Underscore.js 对对象进行分组和排序

javascript - 由于显示属性,自定义选择器不会单击

css - Ionic 全高列表

javascript - 如果使用 jQuery.ajax 或 XMLHttpRequest 发出请求,Service Worker 获取处理程序不会触发

javascript - Redux 中的订阅 Redux 中订阅的奇怪行为

ios - 如何使用 ionic 3 从应用商店获取 iOS 部署版本号

javascript - 如何在 Ion Modal 中从调用页面获取数据

javascript - 使用 Google Maps API DistanceMatrixService 通过 API 计算我的当前位置和用户位置之间的距离

angular - 将 Ionic 2 迁移到 Typescript 2.0 RC

ios - 运行 ionic build ios 命令时权限被拒绝错误?