typescript의 전역 변수에 액세스 할 수 없습니다.

Vugar Abdullayev

코드에 이상한 문제가 있습니다. 클래스 내에서 마커 변수를 선언 했으므로 전역적이고 클래스 내 모든 곳에서 액세스 할 수 있습니다. 그러나 문제는 initMap 내부의 마커에 액세스 할 수 있지만 InitMap의 함수 내부에서는 액세스 할 수 없다는 것입니다. 오류는 다음을 알려줍니다. TS2339 속성 'markers'가 void 유형에 없습니다.

 export class StudentGraphicReportMapComponent implements OnInit  {
  locations: any[] = [];
  markers:any[] = [];
  constructor(private http: Http, private  elementRef: ElementRef , private dashboardService: DashboardService) {
  }
  initMap() { 
   // ------ CAN ACCESS markers here
 
    this.locations.forEach(function(location: Location) {
         for ( let b = 0; b < location.studentCount; b++) {
           let marker = new google.maps.Marker({
             position: location,
             label: 'A'
           });
    // ----------CANNOT ACCESS markers here
           this.markers.push(marker); //Error:Property 'markers' does not exist on type void
         }
    });
  
  }
  ngOnInit() {
    this.dashboardService.getStudentCoordinates().then(data => {
      this.locations = data.data;
      this.initMap();
    });
  }

}

이 문제를 해결하도록 도와주세요. 친절한 안부

Gilamran

다음 과 같이 액세스 하려면 화살표 함수사용해야 this합니다.

export class StudentGraphicReportMapComponent implements OnInit  {
  locations: any[] = [];
  markers:any[] = [];
  constructor(private http: Http, private  elementRef: ElementRef , private dashboardService: DashboardService) {
  }
  initMap() { 
    this.locations.forEach((location: Location) => {
         for ( let b = 0; b < location.studentCount; b++) {
           let marker = new google.maps.Marker({
             position: location,
             label: 'A'
           });
           this.markers.push(marker); //Error:Property 'markers' does not exist on type void
         }
    });

  }
  ngOnInit() {
    this.dashboardService.getStudentCoordinates().then(data => {
      this.locations = data.data;
      this.initMap();
    });
  }

}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

함수 내부의 전역 변수는 외부에서 액세스 할 수 없습니다.

분류에서Dev

초기화되지 않은 함수의 전역 변수 값에 액세스 할 수 없습니다.

분류에서Dev

업데이트 된 전역 변수 값에 액세스 할 수 없습니다.

분류에서Dev

전역 적으로 QML 변수 / ID에 액세스 할 수 없습니다.

분류에서Dev

Typescript 배열 변수에 액세스 할 수 없습니다.

분류에서Dev

새 프로세스 내의 스레드에서 전역 변수에 액세스 할 수 있습니까?

분류에서Dev

toString의 변수에 액세스 할 수 없습니다.

분류에서Dev

절의 char 변수에 액세스 할 수 없습니다.

분류에서Dev

매개 변수로 전달 된 메소드 내부의 변수에 액세스 할 수 없습니다.

분류에서Dev

배열의 Typescript 요소에 액세스 할 수 없습니다.

분류에서Dev

Typescript의 개체에 액세스 할 수 없습니다.

분류에서Dev

Javascript 전역 개체는 함수 내에서 액세스 할 수 없습니다.

분류에서Dev

내부 클래스 내에서 전역 최종 변수에 액세스 할 수 없습니다.

분류에서Dev

클래스 생성자 내에서 전역 변수에 액세스 할 수 없습니다.

분류에서Dev

nodejs : mysql이 연결 쿼리 콜백 내에서 전역 변수에 액세스 할 수 없습니다.

분류에서Dev

C ++에서 전역 변수를 정의 할 수 없습니다.

분류에서Dev

멤버 함수의 클래스 변수에 액세스 할 수 없습니다.

분류에서Dev

`topmost .__ init __. py`가`topmost.submodule .__ init __. py`의 전역 변수에 액세스 할 수 있습니까?

분류에서Dev

Typescript : 클래스의 읽기 전용 속성에 액세스 할 수 없습니다.

분류에서Dev

다른 클래스의 변수에 액세스 할 수 없습니다.

분류에서Dev

laravel 5.2의 상수 변수에 액세스 할 수 없습니다.

분류에서Dev

LUIS의 버전 기반 예측에 액세스 할 수 없습니다.

분류에서Dev

Ajax로드 스크립트에 액세스 할 수없는 전역 변수

분류에서Dev

ElectronJS 앱에서 Renderer Process의 __dirname 변수에 액세스 할 수 없습니다.

분류에서Dev

Typescript : 클래스 속성에 액세스 할 수 없습니다.

분류에서Dev

세션 PHP의 값에 액세스 할 수 없습니다.

분류에서Dev

사용자 정의 Front Matter 변수에 액세스 할 수 없습니다.

분류에서Dev

모델의 컨트롤러 변수에 액세스 할 수 없습니다.

분류에서Dev

expect_background 내의 변수에 액세스 할 수 없습니다.

Related 관련 기사

  1. 1

    함수 내부의 전역 변수는 외부에서 액세스 할 수 없습니다.

  2. 2

    초기화되지 않은 함수의 전역 변수 값에 액세스 할 수 없습니다.

  3. 3

    업데이트 된 전역 변수 값에 액세스 할 수 없습니다.

  4. 4

    전역 적으로 QML 변수 / ID에 액세스 할 수 없습니다.

  5. 5

    Typescript 배열 변수에 액세스 할 수 없습니다.

  6. 6

    새 프로세스 내의 스레드에서 전역 변수에 액세스 할 수 있습니까?

  7. 7

    toString의 변수에 액세스 할 수 없습니다.

  8. 8

    절의 char 변수에 액세스 할 수 없습니다.

  9. 9

    매개 변수로 전달 된 메소드 내부의 변수에 액세스 할 수 없습니다.

  10. 10

    배열의 Typescript 요소에 액세스 할 수 없습니다.

  11. 11

    Typescript의 개체에 액세스 할 수 없습니다.

  12. 12

    Javascript 전역 개체는 함수 내에서 액세스 할 수 없습니다.

  13. 13

    내부 클래스 내에서 전역 최종 변수에 액세스 할 수 없습니다.

  14. 14

    클래스 생성자 내에서 전역 변수에 액세스 할 수 없습니다.

  15. 15

    nodejs : mysql이 연결 쿼리 콜백 내에서 전역 변수에 액세스 할 수 없습니다.

  16. 16

    C ++에서 전역 변수를 정의 할 수 없습니다.

  17. 17

    멤버 함수의 클래스 변수에 액세스 할 수 없습니다.

  18. 18

    `topmost .__ init __. py`가`topmost.submodule .__ init __. py`의 전역 변수에 액세스 할 수 있습니까?

  19. 19

    Typescript : 클래스의 읽기 전용 속성에 액세스 할 수 없습니다.

  20. 20

    다른 클래스의 변수에 액세스 할 수 없습니다.

  21. 21

    laravel 5.2의 상수 변수에 액세스 할 수 없습니다.

  22. 22

    LUIS의 버전 기반 예측에 액세스 할 수 없습니다.

  23. 23

    Ajax로드 스크립트에 액세스 할 수없는 전역 변수

  24. 24

    ElectronJS 앱에서 Renderer Process의 __dirname 변수에 액세스 할 수 없습니다.

  25. 25

    Typescript : 클래스 속성에 액세스 할 수 없습니다.

  26. 26

    세션 PHP의 값에 액세스 할 수 없습니다.

  27. 27

    사용자 정의 Front Matter 변수에 액세스 할 수 없습니다.

  28. 28

    모델의 컨트롤러 변수에 액세스 할 수 없습니다.

  29. 29

    expect_background 내의 변수에 액세스 할 수 없습니다.

뜨겁다태그

보관