インスタンス変数として遅延オブジェクトを持つES6クラスがあります。私は、次のようなangularjs約束、内部のthis
オブジェクトにアクセスしようとしているが、this
は未定義で、バベルによると:約束内のES6でこのオブジェクトにアクセス
class MyClass {
constructor($q) {
this.deferred_ = $q.defer();
}
myMethod() {
this.deferred_.promise.then(data => {
console.log(this);
});
}
}
どういうわけか、私はスコープにthis
をバインドするために、2つの矢印の関数を使用すべきだと思います約束はしていますが、私はどのように考え出すことができません。どのようにそれを行うにはどのようなアイデア?
このコードでは、「this」は確かに 'MyClass'のインスタンスを参照します。 – zerkms
それはしません。私は.promise表記法がこれをクラススコープから盗むと思います。なぜそれがうまくいかないのか分からない。 – mohi666
まあ** ** https://babeljs.io/repl/#?evaluate=true&lineWrap=false&presets=es2015%2Creact%2Cstage-2&experimental=true&loose=false&spec=true&playground=true&code=class%20MyClass%20%7B %0D%0A%0D%0A%20%20%%20%20%20%20%20%%20%%20%%20%20%%20% 20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7% %3B%0D%0A%20%20%20%20%7D)%3B%0D%0A%3E%20%7B%0D%0A%20%20%20%20%20%20console.log %20%20%7D%0D%0A%7Dあなたの問題を示す例を提供してください。投稿されたコードは問題ありません。 – zerkms