2014-06-06 6 views
0

У меня возникла проблема с областью действия переменной. Первые два возвращают правильное значение, но когда я подписываюсь на событие (событие работает), он возвращает this._id как undefined. Я также пробовал это как MyFunction._id;Ошибка определения внутри функции

var i = 0; 

var func = new MyFunction(); 
func.init(); 

function MyFunction(i){ 
    this._id = i; 
} 

MyFunction.prototype.init = function(){ 

    Debugger.log("A : " + this._id); //displays the result of i 
    this.myTest; //displays the result of i 
    Event.subscribe("UPDATE", this.myTest);// is undefined 
} 

MyFunction.prototype.myTest = function(){ 
    Debugger.log("B : " + this._id); 
} 

Thx.

ответ

1

Вы должны сделать:

Event.subscribe("UPDATE", this.myTest.bind(this)); 
Смежные вопросы