2017-10-05 6 views
0

に更新されていません。値は、私はメンバーを持っているブラウザ

私が機能を持っている:

setValue(selectionChangedEvent) { 
    this.airline = selectionChangedEvent.selectionChanges[0].selected[0].properties.airline; 
    console.log(this.airline); 
} 

この関数が呼び出されます:私は、コードを実行すると、私はsetValueの機能でthis.airlineの値が、値を参照ください

this._map.on('SelectionChanged', function (selectionChangedEvent) { 
    if (selectionChangedEvent.selectionChanges.length > 0) { 
    var c = new MapComponent(); 
    c.setValue(selectionChangedEvent); 
    } else { 

    } 
}); 

ブラウザではまだstringです。

ブラウザで更新されないのはなぜですか?

+0

すべての機能は同じコンポーネント内にありますか? – Moema

答えて

1

問題は、だからあなたの元の値が更新されることは決してありません

var c = new MapComponent(); 

で新しいコンポーネントを作成しているということです。おそらく、代わりに

this.setValue(selectionChangedEvent); 

を使用したいが、あなたは間違っているので、あなたもラムダ関数に

this._map.on('SelectionChanged', (selectionChangedEvent) => { 

を変更することで、コンテキストを保存する必要があり、そのためには、そうでない場合this.setValueは存在しません。コンテキスト。

+0

もちろん、ああ、もちろんです。私は新しいコンポーネントを作成しますが、値を渡すことはありません。私はラムダ関数が何であるか分からず、Javaで見たことがありますが、実際には使用していません。しかし、あなたの提案はコードを修正しました。乾杯。 –

関連する問題