2016-12-02 4 views
0

テンプレートで返された座標を表示するにはどうすればよいですか?Angular2ビューの変数へのアクセス

export class DashboardPage { 

    constructor(public navCtrl: NavController) { 

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

    } 

} 

をしかし、これは私にエラーを与える:

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

私が試みた

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; 
Iは{{緯度}}を使用することができるように期待していた

と{{経度} }私のテンプレート内

答えて

2

あなたのプロパティを宣言する必要があります:

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

あなたは指向よりangular2/rxjsになりたい場合は:あなたのビューで

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

} 

、その後:

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

感謝。特に.tsファイルの上部に何かをインポートする必要がありますか? – Chris

+0

rxjsのバージョンによって異なります。せずにそれを試してください、そしてそれが壊れている場合、それは演算子の下にあるべきです – Meir

関連する問題