2

このクラスを受講してください:

var MyClass = new Class({
    Implements: [Events, Options],
    initialize: function() {

        this.a = 1;

    },

    myMethod: function() {

        var mc = new differentClass({
            events: {
                onClick: function() {

                    console.log(this.a); // undefined (should be 1, 2, 3 etc)

                    this.a ++;


                }
            }
        });    

    }
});

this.aの値を保持するにはどうすればよいですか? 私は基本的に、最後の点からクリックしたばかりの座標まで(キャンバスを使用して)線を引こうとしています。

[編集]

どうやら悪いのでバインドしたくthisありません。オプションを上書きしdifferentClassます。

4

2 に答える 2

2

次のように適切なコンテキストを参照できます。

...
myMethod: function() {
    var _this = this;
    var mc = new differentClass({
        events: {
            onClick: function() {
                console.log(_this.a);
                _this.a ++;
            }
        }
    });    
}
...
于 2012-04-30T14:46:05.730 に答える