将数据传递到 Ionic 5 中的弹出窗口

che*_*zeh 6 ionic5

在 Ionic 3 中,将数据传递到弹出窗口非常简单:

let popover = this.popoverCtrl.create(PopoverPage, {key1:value1, key2: value2});
Run Code Online (Sandbox Code Playgroud)

并且可以通过以下方式检索它navParams

如何在 Ionic 5 中实现同样的目标?该文档没有提及传递数据。

che*_*zeh 10

我想既然我们处理父组件和子组件就像处理模态一样,我会采用记录的模态方法来传递和检索数据(即使用componentProps属性):

  this.popover = await this.popoverController.create({
      component: popoverComponent,
      componentProps: {key1: value1}
  });
Run Code Online (Sandbox Code Playgroud)

为了让数据通过,我只需将其设置为@Input()

export class ModalPage {

  // Data passed in by componentProps
  @Input() key1: string;
}
Run Code Online (Sandbox Code Playgroud)


小智 5

单击以显示弹出窗口

showPopup(){
        this.popoverController.create({
          component: PopupPage,
          translucent: true,
          cssClass: '',
          mode: 'ios',
          componentProps: { key1:value1, key2: value2 }
        }).then((popover: any) => {
          popover.present();
        });
}


Get Popup Data page(popup.page.ts)

constructor(public navParams: NavParams){
const key1= this.navParams.get('key1');
const key2 = this.navParams.get('key2 ');
}
Run Code Online (Sandbox Code Playgroud)