gpt4 book ai didi

angular - 从 typescript 中的另一个函数调用一个函数

转载 作者:太空狗 更新时间:2023-10-29 18:17:31 26 4
gpt4 key购买 nike

我已经在 ngOnInit() 上调用了一个函数,现在我试图从前一个函数调用另一个函数,但我无法从第二个函数中获得结果

ngOnInit() {
this.mapsAPILoader.load().then(() => {
let autocomplete = new google.maps.places.Autocomplete(this.searchElement.nativeElement, {types: ['address']});
autocomplete.addListener('place_changed', () => {
this.ngZone.run(() => {
let place: google.maps.places.PlaceResult = autocomplete.getPlace();
if (place.geometry === undefined || place.geometry === null) {
return;
}
this.codeAddress(place.formatted_address, 'pickup');
});
});
});
}

codeAddress(address: string, type) {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({'address': address}, (results, status) => {
if (status == google.maps.GeocoderStatus.OK) {
this.getdistance();
} else {
alert('Request failed.');
}
});
}

getdistance() {
console.log('get distance called');
}

在代码中,我试图从 codeaddress() 函数调用 getdistance() 函数。但它给我的错误是 this.getdistance() is not a function

最佳答案

您正尝试从回调中访问 this 您可以使用 function(){}.bind(this) 使函数使用正确的上下文,或者使用 ES6 箭头函数。

geocoder.geocode({ 'address': address }, (results, status) => {
if (status == google.maps.GeocoderStatus.OK) {
this.getdistance();
}
else {
alert("Request failed.");
}
});

关于angular - 从 typescript 中的另一个函数调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57864426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com