Javascript 迭代内部的Angular2调用函数

Javascript 迭代内部的Angular2调用函数,javascript,angular,typescript,nativescript,angular2-nativescript,Javascript,Angular,Typescript,Nativescript,Angular2 Nativescript,我对angular2有点小问题。我正在使用nativescript和mapbox插件。当我通过迭代(订阅服务)添加标记时,onTap方法什么都不做。但是,当它脱离迭代(单独)时,它就工作了。也许我不理解一些有角度的逻辑,但我几乎尝试了所有的方法 this.pointsService.getPoints().subscribe(points => { this.points = points; let markers = []; for (let poin

我对angular2有点小问题。我正在使用nativescript和mapbox插件。当我通过迭代(订阅服务)添加标记时,onTap方法什么都不做。但是,当它脱离迭代(单独)时,它就工作了。也许我不理解一些有角度的逻辑,但我几乎尝试了所有的方法

      this.pointsService.getPoints().subscribe(points => {
    this.points = points;
    let markers = [];
    for (let point of this.points) {
      markers.push({
        id: point['id'],
        lat: point['lat'],
        lng: point['lng'],
        title: 'test_' + point['id'],
        onTap: () => {console.log("tap event" + point['id'])}
      });
    }
    this.mapboxMap.addMarkers(markers);
   });

这里是完整的存储库

您是否尝试在外部定义方法
onTapMethod(pointId){console.log(“点击事件”+pointId)}
onTap:()=>this.onTapMethod(point['id'])
或者可能没有setter
onTap:this.onTapMethod(point['id'])
尝试添加var=this;在promise调用之前,然后像那样调用function.functionName();您是否尝试在外部定义方法
onTapMethod(pointId){console.log(“点击事件”+pointId)}
onTap:()=>this.onTapMethod(point['id'])
或者可能没有setter
onTap:this.onTapMethod(point['id'])
尝试添加var=this;在promise调用之前,然后像那样调用function.functionName();