我有一个submitAdd()
从另一个方法获取价值的方法polygonDrawer()
,问题是我从undefined
该submitAdd()
方法获取价值。这似乎是一个问题。
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);
});
}
pointSTR2:any;
submitAdd() {
console.log("**"+this.pointSTR2); // undefined
}
问题与范围有关,您可以通过2种方法解决此问题:
1)使用胖箭头
function (polygon) {
至 (polygon) => {
喜欢 :
polygonDrawer()
{
...
google.maps.event.addListener(drawingManager, 'polygoncomplete', (polygon) => {
....
this.pointSTR2=text.slice(0, -1);
});
}
2)使用方法.bind()
:
polygonDrawer()
{
...
google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon){
....
this.pointSTR2=text.slice(0, -1);
}).bind(this);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句