我正在使用Polymer,并且正在执行以下操作以声明一个变量然后使用它(基本上是尝试实现this解决方案):
class myElement123 extends Polymer.Element {
static get is() {
return 'street-view-card';
}
static get properties() {
return {
currentpos: {
type: Object
}
};
}
myFunction123(data){
if(data){
this.currentpos = new google.maps.LatLng(data.location.latLng[1], data.location.latLng[0]);
}
}
async updateLocation(feature, layer) {
checkaround = 50
await webService.getPanoramaByLocation(this.currentpos, checkaround, this.myFunction123);
}
}
customElements.define(streetViewCard.is, streetViewCard);
但是,我收到一条错误消息,指出上面标记的行为Uncaught TypeError: Cannot set property 'currentpos' of undefined
。 this
的定义如何?我不明白。
更新
因此,根据我被标记为重复的解决方案,我正在尝试做 等待webService.getPanoramaByLocation(this.currentpos,checkaround,this.myFunction123).bind(this);
但是我遇到另一个错误,指出Uncaught (in promise) TypeError: Cannot read property 'bind' of undefined at HTMLElement.updateLocation
。
我在做什么错了?