Ich habe eine Methode submitAdd()
, die Wert von einer anderen Methode polygonDrawer()
erhalten Das Problem ist, dass ich undefined
Wert bei der submitAdd()
Methode bekomme. scheint dies ein Problem zu sein.lokale Variable undefined äußere Methode
polygonDrawer()
polygonDrawer()
{
var i;
var map;
var cords = [];
google.maps.event.addListener(drawingManager, 'polygoncomplete', function (polygon) {
field.setPath(polygon.getPath().getArray());
field.setMap(map);
for (var i = 0; i < field.getPath().getLength(); i++) {
cords.push(field.getPath().getAt(i).toUrlValue(6));
text += field.getPath().getAt(i).toUrlValue(6) + "#";
}
this.pointSTR2=text.slice(0, -1);
});
}
submitAdd()
pointSTR2:any;
submitAdd() {
console.log("**"+this.pointSTR2); // undefined
}
Wenn Sie ein lexikalisch diese scoped verwenden möchten, wie Sie hier erscheinen, verwenden Sie '=>' und nicht 'function'. Sie können auch '.bind (this)' verwenden. –
Haben Sie die Methode polygonDrawer() aufgerufen, bevor Sie die Methode submitAdd() aufrufen? – Chandru
Danke funktioniert wie ein Charme mit Pfeil :) @ AluanHaddad – heisenberg