Angular 有角度的开放层

Angular 有角度的开放层,angular,openlayers,Angular,Openlayers,我在OpenLayers地图上有一个单击功能 testvar: string map = new Map() ngOnInit(): void { this.map.on('click', function(event) { console.log(this.testvar) }) } 但是此在单击功能范围内不可用 你知道怎么做吗?这是因为你用函数关键字声明了你的函数。 如果将函数声明为arrow函数,则它将起作用: this.map.on('click', event =>

我在OpenLayers地图上有一个单击功能

testvar: string
map = new Map()


ngOnInit(): void {

this.map.on('click', function(event) {
   console.log(this.testvar)
})

}
但是
在单击功能范围内不可用


你知道怎么做吗?

这是因为你用
函数
关键字声明了你的函数。 如果将函数声明为arrow函数,则它将起作用:

this.map.on('click', event => {
   console.log(this.testvar)
})
有关箭头函数与函数的更多详细信息,请参阅本文:


或者这个:

让它=这个;console.log(that.testvar)
不确定,但可以这样尝试。你救了我一个早上!塔克斯