调用嵌套内联函数时,无法在Javascript函数中访问“this”关键字?

时间:2017-09-18 17:58:31

标签: javascript angular leaflet

我正在使用传单为Angular中的不同地图特征构建自定义样式。

export class MapComponent  {
    protected _map: Map;           // leaflet map
    public pads: string[] = [];

.
.
.
.

    L.geoJSON(geojsonFeature, {
        onEachFeature: this.onEachFeature,
        style: function (layer, feature, pads) {
            return {color: "#FFF"}
        }

    }).addTo(this._map);

在style:call中,我传入pads作为参数,但在函数中未定义

如果我不再使该功能在线,

    styler(feature, layer) {
       console.log(this.pads);
    }

然后将呼叫更新为:

    L.geoJSON(geojsonFeature, {
        onEachFeature: this.onEachFeature,
        style: this.styler;
        }

    }).addTo(this._map);

我无法访问this关键字。我对所有这些相互作用的范围感到非常困惑。我需要从内联函数或外部函数访问我的pads数组。

0 个答案:

没有答案