私はobservableのサブスクリプションを持っているので、終了すると、このクラスから関数を呼び出す必要があります。問題は "this"キーワードがサブスクリプションを参照し、クラススコープではありません。 コード:私は "この" キーワードの宣言新しい変数なしcreateMap()を呼び出すことができますどのように角度2での使用 "subscribe"の "this"キーワードはクラスを指しますか?
export class GoogleMapComponent{
Position:object;
constructor(public MapFunctionsProvider: MapFunctionsProvider) {
let posObservable = this.MapFunctionsProvider.getPosition();
posObservable.subscribe(data =>{
this.Position = data;
this.createMap();// this keyword refers to the subscription
});
function createMap(){
console.log('run')
}
}
?
いいえ「this」はGoogleMapComponentオブジェクトを指します。しかし、GoogleMapComponentにはcreateMap()という名前のメソッドはありません。 createMap()はコンストラクタ内で定義された関数です。コードを正しくインデントすると、すべてがより明確になります。 createMap()の定義をそのままにしたい場合は、 'this.createMap()'の代わりに 'createMap()'を使います。 –