单击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');
}
答案 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传递,以使其表现出预期的效果。