не может прочитать свойство 'create' из неопределенного - PullRequest
2 голосов
/ 01 октября 2019

На странице ionic3 я хочу открыть модал из функции события нажатия

export class HomePage {

  ....
  ....
  ....

  loadPos() {
    var randomLocations = Microsoft.Maps.TestDataGenerator.getLocations(5, this.map.getBounds());

    for (let i = 0; i < 5; i++) {
      var pin = new Microsoft.Maps.Pushpin(randomLocations[i]);
      this.map.entities.push(pin);
      //Add a click event handler to the pushpin.
      Microsoft.Maps.Events.addHandler(pin, 'click', this.pushpinClicked);
    }
    console.log("pins added")

    pushpinClicked(e) {
      HomePage.prototype.openModal()
    }

    openModal() {
      const myModal = this.modal.create(ModalPage)
      myModal.present()
    }
  }

Когда я запускаю функцию openModal () из ionic-buttun, она работает, но когда я запускаю функцию из события нажатия кнопкия получил эту ошибку:

не может прочитать свойство 'create' из неопределенного

Что я могу сделать, чтобы открыть этот модал из события click? Что

1 Ответ

0 голосов
/ 01 октября 2019

Все, что вам нужно сделать, это изменить

pushpinClicked(e) {
    HomePage.prototype.openModal()
}

на

pushpinClicked(e) {
    this.openModal()
}

Причина в том, что такие поля, как this.modal, отсутствуют в объекте-прототипе. Вы можете увидеть пример этого здесь: https://stackblitz.com/edit/angular-i7wwfb Запустите и проверьте консоль, чтобы увидеть разницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...