Javascript 为什么typescript看不到我的函数?
我有以下位于onInit方法中的侦听器:Javascript 为什么typescript看不到我的函数?,javascript,google-maps,angular,typescript,Javascript,Google Maps,Angular,Typescript,我有以下位于onInit方法中的侦听器: google.maps.event.addListener(this.map, 'click', function(event) { console.log(event.latLng); var lt = event.latLng.lat; var ln = event.latLng.lng; console.log(lt()); console.log(ln());
google.maps.event.addListener(this.map, 'click', function(event) {
console.log(event.latLng);
var lt = event.latLng.lat;
var ln = event.latLng.lng;
console.log(lt());
console.log(ln());
this.onStoreMarker(lt(),ln());
});
在外部,我有一个在触发事件时调用的方法,Angular2编译这个精细的方法,但是当我尝试在运行应用程序时单击激活事件时,我得到一个错误消息
未捕获类型错误:this.onStoreMarker不是函数
改变
与
您的此
不是指您的组件
或者,旧的js方式:
var self = this; // store this in a variable to use it later
google.maps.event.addListener(this.map, 'click', function(event) {
console.log(event.latLng);
var lt = event.latLng.lat;
var ln = event.latLng.lng;
console.log(lt());
console.log(ln());
self.onStoreMarker(lt(),ln()); // <-- use it later
});
var self=this;//将其存储在变量中,以便以后使用
google.maps.event.addListener(this.map,'click',函数(event){
控制台日志(事件日志);
var lt=event.latLng.lat;
var ln=event.latLng.lng;
console.log(lt());
log(ln());
self.onStoreMarker(lt(),ln());//更改
与
您的此
不是指您的组件
或者,旧的js方式:
var self = this; // store this in a variable to use it later
google.maps.event.addListener(this.map, 'click', function(event) {
console.log(event.latLng);
var lt = event.latLng.lat;
var ln = event.latLng.lng;
console.log(lt());
console.log(ln());
self.onStoreMarker(lt(),ln()); // <-- use it later
});
var self=this;//将其存储在变量中以便以后使用
google.maps.event.addListener(this.map,'click',函数(event){
控制台日志(事件日志);
var lt=event.latLng.lat;
var ln=event.latLng.lng;
console.log(lt());
log(ln());
onStoreMarker(lt(),ln())//
google.maps.event.addListener(this.map, 'click', (event)=> {
var self = this; // store this in a variable to use it later
google.maps.event.addListener(this.map, 'click', function(event) {
console.log(event.latLng);
var lt = event.latLng.lat;
var ln = event.latLng.lng;
console.log(lt());
console.log(ln());
self.onStoreMarker(lt(),ln()); // <-- use it later
});