2

setTimeout コールバックを使用する場合、インスタンスへの参照を維持する方法は? 例えば:

私のViewModelで(ノックアウトを使用)

var MyVM = function () {
  this.myFunc = function () {
    setTimeout("this.myCallback()", 2000);
  };
  this.myCallback = function() { this.myObservable(true); }
}

これは失敗します。

4

1 に答える 1

3

プライベート フィールドを追加できます。

var MyVM = function () {
    var self = this;
    this.myFunc = function () {
        setTimeout(self.myCallback, 2000);
    };
    this.myCallback = function() { self.myObservable(true); }
}
var vm = new MyVM();

RP Niemeyer's answerをご覧ください。

お役に立てば幸いです。

于 2013-07-22T07:28:48.413 に答える