私はTypescriptを初めて使用し、自分のものに導入しようとしていますが、いくつかのスコープとアロー関数に問題があります.
JavaScriptでは、私のコードは次のようになります...
var model = params.model;
model.Prototypes.bind('change', function(e){
// some code to execute when the event occurs
model.set([some values]); // this performs an operation to the actual top level model
});
さて、これには 2 つの問題があります。Typescriptでこれを行うときは、このようにします...
class ClassName {
model: any;
subscribe() {
this.model.Prototypes.bind("change", function(e){
// FIRST PROBLEM
this.model ....
});
}
}
さて、これはラベル付けされた部分まで機能します。this.model
「クラス」ではなく、関数のコンテキストにあるため、私が考えるものへの参照ではなくなりました。だから私は掘り下げarrow function
て、コンテキストを保持するため、を使用する必要があることを学びました。
change
問題は、アロー関数を実行する方法が思いつかず、必要なパラメーター(バインド イベントの値やfunction(e)
パーツなど) を通過する方法が思いつかないことです。パラメータをまったく期待しない例しか見たことがありません。