Angular - событие маркера листовки для открытия модального компонента - PullRequest
1 голос
/ 19 октября 2019

Я использую буклет с угловым, и я хотел бы сделать щелчок addEventListener на маркер для открытия модального компонента. Но проблема заключается в том, что пока я запускаю свой код ниже, addEventListener открывает модальный компонент, не нажимая на маркер.

        let m =  new L.Marker([33, 44], {
          icon: new L.DivIcon({
            className: 'my-div-icon',
            html: `
            <div>
           <img src="${f[1].weather_status_icon_ar}"/style="width: 30px;height: 
           30px;">
           </div>`

          })

}).addEventListener('click',this.navigate(this.LocationID)).addTo(this.weather)

Модальный компонент

    async navigate(LocationID) {
    const modal = await this.modalController.create({
      component: WeatherDetailsPage,
    });

    await modal.present();
  }

Я хочу открыть модальный компонентвручную с помощью маркера нажмите не автоматически

1 Ответ

2 голосов
/ 19 октября 2019

Это ожидаемо, поскольку вы вызываете this.navigate(this.LocationID), который открывает модальное значение, и передаете значение , возвращаемое этим вызовом функции, в addEventListener.

Т.е. ваш код эквивалентен:

const result = this.navigate(this.LocationID);
....addEventListener('click', result)

Вы не должны вызывать эту функцию. Вместо этого вы должны передать addEventListener() функцию, которая будет вызывать эту функцию:

addEventListener('click', () => this.navigate(this.LocationID))
...