Mapbox弹出窗口中的按钮未执行功能

时间:2020-06-18 22:30:26

标签: javascript angular ionic4 mapbox-gl-js mapbox-marker

单击Mapbox弹出窗口中的按钮时,我试图打开模式。 HTML可以正确呈现,但是我不确定为什么未执行该功能。

let marker = new mapboxgl.Marker(el);
    try {
        marker.setLngLat([eventInfo.location[0], eventInfo.location[1]])
            .setPopup(new mapboxgl.Popup({offset: 32})
                .setHTML('<ion-button (click)="logger()">View Full</ion-button>'))
            .addTo(this.map);
    } catch (e) {
        console.log(e.message);
    }

以上是我创建标记并附加弹出窗口的方法。 logger()是我希望执行的功能。

logger(){
  console.log('hi');
}

1 个答案:

答案 0 :(得分:1)

我对Ionic的工作一无所知,但我想您不能将Ionic HTML元素(<ion-button>)传递给setHTML并期望它得到完整的Ionic处理。 (例如,React和Vue就是这种情况。)

一种解决方案是在setHTML中编写常规的原始HTML:

.setHTML('<button id="view-full">View Full')
.addTo(this.map);

document.getElementById('view-full').addEventListener('click', logger)

或者,可能需要采取一些步骤来将HTML通过Ionic传递,以使其表现出预期的效果。