私はアプリケーションでAngular 2でビルドしていますが、このTypeScriptのこのスコープを理解するにはまだ問題があります。TypeScript内の関数内でクラス関数にアクセスする
私は機能handleErrorのが401のステータスを受信SharedServiceと呼ばれる活字体クラスを、持っている、私はそれがログアウト()を呼び出したいです。これはクラス内の関数でもあります。
Aは、私は以下の私の例で行ったように、私は矢印の関数定義を使用する必要がありますとの組み合わせで、このを関数を使用するためには、何らかの形でこれはまだ返す、という読み:
TypeError: this.logout is not a function(…)
は、あなたたちは知っていますか私が間違っていることは何ですか?
export class SharedService {
logout =() => {
console.log('Logout.');
}
//This method catches any errors that might arise upon http requests
handleError(error: any) {
if (error.status === 401) {
this.logout(); <----------------------------- This returns the error
}
console.error(errMsg); // log to console instead
}
}
this.logout()が呼び出されたときにエラーが発生します。
エラーが発生した)、私は私の例を編集しました。 – hY8vVpf3tyR57Xib
それは私が理解したものですが、私はあなたが 'handleError'と呼ばれる方法によって引き起こされたと想定しています。私の提案を試しましたか? –
ああ、あなたは正しいです。ありがとう! – hY8vVpf3tyR57Xib