0
내가 만든 지오 로케이션 공급자를 사용하고 있습니다. 비동기적인 곳입니다. 사용자의 위치를 파악하려면 약 3-5 초가 필요합니다. 콜백 익명 함수를 사용하고 있는데 console.log가 예상대로 작동하고 값을 읽을 때.(ionic2 angular4) 익명 콜백 함수에서 'this'로 반환 된 값을 전달합니다.
하지만이 값을 사용하여 클래스 변수에 값을 설정하려고하면이 값이 정의되지 않는다고 표시됩니다. 여기 내 코드가있다. locationTracker는 내가 만든 공급자입니다. 내가 변수를 위도 값을 전달할 수있는 방법이 recoginzed되지 않는
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { SettingsPage } from '../settings/settings'
import { ListPage } from '../list/list'
import { Geolocation } from '@ionic-native/geolocation';
import {Observable} from 'rxjs/Rx';
import { LocationTrackerProvider } from '../../providers/location-tracker/location-tracker';
export class HelloIonicPage {
public latitude:number = null;
public longitude:number = null;
constructor(public navCtrl: NavController, public locationTracker: LocationTrackerProvider) {
locationTracker.updateCoordinate(function (coords) {
console.log(coords); // here it works perfectly
this.latitude = coords.latitude; // TypeError: this is underfinded
return coords;
});
은}
문제는 무엇입니까?
나는 이것을 생성자 내부에 유지할 계획이 없지만, 그 이유를 설명하기 위해 잠시 동안 거기에 있습니다. 나는 경우 누군가 자신을 응답하고있어
@yurzui을 - 당신이 말한대로 완벽했다. 고맙습니다!!! –