Вам нужно использовать функции стрелок.Если вы используете подобную функцию, область действия этого ограничена только вашей функцией.
Традиционная функция
public myTest:string = "mytest";
(....)
this.map.getLayers().forEach(function(layer, i) {
if (layer instanceof Group) {
var layerinfo = layer.getLayers();
console.log(this.myTest);
}
});
Так что в этом примере это не определенопотому что мы можем получить доступ к этому вашему компоненту (область действия ограничена только функцией!)
Функции стрелок
public myTest:string = "mytest";
(....)
this.map.getLayers().forEach((layer, i) => {
if (layer instanceof Group) {
var layerinfo = layer.getLayers();
console.log(this.myTest);
}
});
Во втором примере вы можете показатьрезультат this.myTest (mytest).Поскольку этот из вас компонент доступен в функции стрелки.
Ваш случай
Так что в вашем случае:
public setLayer(){
(...)
}
this.map.getLayers().forEach((layer, i) => {
if (layer instanceof Group) {
var layerinfo = layer.getLayers();
this.setLayer();
}
});
Если выхотите больше информации об этом