私はメソッド を取得するsubmitAdd()
メソッドを持っています。問題は、submitAdd()
メソッドでundefined
という値が得られることです。 これはこの問題のようです。ローカル変数がメソッド外で定義されていません
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
}
あなたがここに思えるようレキシカルスコープこの、 '=>'ではなく 'function'を使用を使用したい場合。 '.bind(this)'を使うこともできます。 –
これでsubmitAdd()メソッドを呼び出す前にpolygonDrawer()メソッドを呼び出しましたか? – Chandru
感謝のように働いています。@AluanHaddad – heisenberg