ionic 4 和 Angular 类型上不存在属性“onDidDismiss”

Fer*_*Pie 4 typescript ionic-framework angular ionic4

我正在开发一个应用程序,并且我有下一堂 TypeScript 课程。

\n\n

当它关闭模态时,我想尝试在 \xc2\xb4ModalController\xc2\xb4 中的回调类型方法中获取数据:

\n\n
import { Component, OnInit } from \'@angular/core\'; \nimport {NavController, ModalController} from \'@ionic/angular\'; \nimport { Router } from \'@angular/router\'; \nimport { HomePage } from \'../home/home.page\'; \nimport {AddItemPage} from \'../add-item/add-item.page\';\n\n@Component({   \n  selector: \'app-todo\',   \n  templateUrl: \'./todo.component.html\',   \n  styleUrls: [\'./todo.component.scss\']\n})\n\nexport class TodoComponent implements OnInit {\n\n  public items;\n\n  constructor(public navCtrl: NavController, public modalCtrl: ModalController) {\n    this.ionViewDidLoad();    \n  }\n\n  ngOnInit() {}\n\n  async addItem()  {\n    // Create a modal using MyModalComponent with some initial data \n     const modal = await this.modalCtrl.create({   \n        component: AddItemPage,  componentProps: {\n           \'prop1\': "cadena!!!!!!!"   \n        } \n     }).then(function(modal) {   \n        return modal.present(); \n     });\n\n     modal.onDidDismiss(() => {\n        // Call the method to do whatever in your home.ts\n        console.log(\'Modal closed\');\n    });\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我收到这个错误:

\n\n
\n

core.js:15724 ERROR 错误:未捕获(承诺中):TypeError: 无法读取 undefinedTypeError 的属性 \'onDidDismiss\':无法读取 undefine 的属性 \'onDidDismiss\'

\n
\n

Fer*_*Pie 6

这篇文章有何相关:https://medium.com/@david.dalbusco/how-to-declare-and-use-modals-in-ionic-v4-4d3f42ac30a3 我的错误只是我如何创建模式。我已按照此代码创建我的模态属性。

async openModal() {
    const modal: HTMLIonModalElement =
       await this.modalController.create({
          component: DatePickerModal,
          componentProps: {
             aParameter: true,
             otherParameter: new Date()
          }
    });

    modal.onDidDismiss().then((detail: OverlayEventDetail) => {
       if (detail !== null) {
         console.log('The result:', detail.data);
       }
    });

    await modal.present();
}
Run Code Online (Sandbox Code Playgroud)