Angular-用于打开模式组件的小叶标记事件

问题描述 投票:1回答:1

l使用带角度的传单,我想在打开模式组件的标记上单击addEventEvent。但是问题是当我在下面运行我的代码时,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();
  }

我想通过标记单击手动而不是自动打开模式组件

angular leaflet marker
1个回答
2
投票

这是预期的,因为您调用this.navigate(this.LocationID),这会打开一个模态,并通过此函数调用将值returned传递给addEventListener

即您的代码等效于:

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

您不应该调用此函数。您应该改为将调用此函数的函数传递给addEventListener()

addEventListener('click', () => this.navigate(this.LocationID))
© www.soinside.com 2019 - 2024. All rights reserved.