В соответствии с тем, что говорит @VLAZ (я предлагаю прочитать ссылку, которую он предоставляет), вы предполагаете, что this
в контексте функции openModal () ссылается на контекст класса. Поскольку значение this
зависит только от того, «как» вызывается функция, то появление this
в this.modalController
еще не связано с контекстом, поэтому this
оказывается неопределенным, и это является причиной Вы получаете сообщение об ошибке.
Вы можете установить this
в контекст класса перед вызовом функции. Вот несколько способов:
1 - связать this
в конструкторе
constructor(public modalController: ModalController) {
this.openModal = this.openModal.bind(this);
}
2 - использовать функцию стрелки, которая автоматически связывает this
к контексту класса (родительскому контексту).
openModal = async (value) => {
const modal = await this.modalController.create({
component: AnotherPage,
componentProps: {
"paramID": 123,
"paramTitle": "Test Title",
"takenPhoto": "null"
}
});
return modal.present();
}
Я думаю, что есть другие способы сделать это, но они широко приняты. Надеюсь, это поможет!