私はAngularJSとTypescriptを使用しています。私が解決しようとしている問題は、次のとおりです。フィルターメソッドでクラス変数を使用
- Typescriptコントローラクラスでは、私はローンの配列を持っていて、各ローンは通貨オブジェクトを持っています。
- UIには、通貨ごとに1つのタブがあります。
getLoans()
メソッドを呼び出して、各タブ(通貨)内にローンリストを表示したいと考えています。クラスでは、選択したタブ(選択された通貨)に基づいて配列され、フィルタリングされたローンを返す、すべてのローンと配列を持つ配列があります。以下
コードである:
class MyClass {
public selectedCurrency: app.models.Currency;
private loans: app.models.Loan[];
getLoans(): app.models.Loan[] {
if (this.loans) {
return this.loans.filter(this.filterBySelectedCurrency);
}
return null;
}
filterBySelectedCurrency(loan: app.models.Loan): boolean {
return loan && this.selectedCurrency && loan.Currency == this.selectedCurrency;
}
}
上記のコードが原因this.selectedCurrency
がundefined
あるfilterBySelectedCurrency(..)
方法で動作していません。しかし、それを呼び出す前に(getLoans()
メソッド内で)コードをデバッグすると、this.selectedCurrency
は正しい値を持っています。
明らかに何らかの理由で、フィルタメソッド内からクラス変数this.selectedCurrency
にアクセスできません。これは本当ですか?
ありがとうございます!
!ありがとう!! – gmesorio