2016-12-02 7 views
0

Wie kann ich die in meiner Vorlage zurückgegebenen Koordinaten anzeigen?Zugriff auf Variablen in der Angular2-Ansicht

export class DashboardPage { 
    constructor(public navCtrl: NavController) { 
    Geolocation.getCurrentPosition().then(pos => { 
     console.log(pos.coords.latitude, pos.coords.longitude); 
    }); 
    } 
} 

Ich habe versucht:

export class DashboardPage { 

    constructor(public navCtrl: NavController) { 

    Geolocation.getCurrentPosition().then(pos => { 
     this.latitude = pos.coords.latitude; 
     this.longitude = pos.coords.longitude; 
    }); 

    } 

} 

Aber das gibt mir eine Fehlermeldung:

Typescript Error 
Property 'latitude' does not exist on type 'DashboardPage'. 
src/pages/dashboard/dashboard.ts 
Geolocation.getCurrentPosition().then(pos => { 
this.latitude = pos.coords.latitude; 
this.longitude = pos.coords.longitude; 

Ich hatte gehofft, in der Lage sein zu verwenden {{Breite}} und {{Länge} } innerhalb meiner Vorlage

Antwort

2

Sie müssen Ihre Eigenschaften deklarieren:

export class DashboardPage { 

    latitude: number; 
    longitude: number; 

    constructor(public navCtrl: NavController) { 

    Geolocation.getCurrentPosition().then(pos => { 
     this.latitude = pos.coords.latitude; 
     this.longitude = pos.coords.longitude; 
    }); 
    } 
} 
1

Wenn Sie mehr angular2 sein/rxjs orientiert:

<div>lat: {{(geoData$|async)?.latitude}}</div> 
+0

Danke:

Ihrer Ansicht
export class DashboardPage { geoData$: Observable<any>; constructor(public navCtrl: NavController) { this.geoData$ = Observable.fromPromise(Geolocation.getCurrentPosition()); } } 

und dann. Muss ich etwas speziell am Anfang meiner .ts-Datei importieren? – Chris

+0

Hängt von der rxjs-Version ab. Probieren Sie es ohne und wenn es bricht, sollte es unter Betreiber sein – Meir

Verwandte Themen