http:Http;
constructor(http:Http){
this.http = http;
}
myFunction(){
//this.http works great here!
this.providerobject.getSomething(function(err, result) {
//this.http here is undefined! I need to use it here
.
.
.
I上記のコードでは、provider.getSomething
機能の内部httpリクエストをしようとしていますが、this.http
オブジェクトは、ここで定義されていないようです!この関数の内部でhttp呼び出しを行うにはどうすればよいですか?このオブジェクトはprovider.getSomething
機能の外で動作するので、スコープとは何か関係があります。私はそれを渡す方法を知らない。- スコープの問題
this.providerobject.getSomething(this.http, function(err, result) {
これはプロバイダ機能に渡しますが、この機能には渡されません。どのように私はこのスコープでこのオブジェクトを使用できますか?
あなたには、いくつかの変数にこれを保存することができる
[コールバック内の正しい\ 'this \' /コンテキストにアクセスするにはどうすればいいですか?](http://stackoverflow.com/questions/20279484/how-to-access-the-correct-this-context -inside-a-callback) –
私はAngular 2では動作しませんが、ほとんどの場合、[Function.bind()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind)はうまくいきます。 – Jhecht