2010-10-16 3 views
1


У меня есть этот класс в JavaScriptчленов класса доступа из вложенных функций

var MyGird = Class.extend({ 
    classMemeber1 : "Some Value" 
    ,clickEvent : function(){ 
     this.editor.on({ 
      afteredit: function() { 
       // 
       // HOW TO I ACCESS classMemeber1 from here? ? 
       // 
       // 
      } 
     }) 
}) 

Как получить доступ к classMemeber1 изнутри afteredit ...
Благодаря

+0

Какая структура JS вы используете? Похоже, то, что вы здесь делаете, сложнее, чем я думал. –

+0

Extjs, но это класс, который обертывает сетку Extjs – fatnjazzy

ответ

7

Вам необходимо сохранить ссылку на объект, вызывающий clickEvent, путем хранения this[1] в переменной. Он будет доступен внутри метода afteredit из-за закрытия.

var MyGird = Class.extend({ 
    classMemeber1: "Some Value", 
    clickEvent: function() { 
     var self = this; // save object reference 
     this.editor.on({ 
      afteredit: function() { 
       // access classMemeber1 from here 
       // by using the stored reference 
       alert(self.classMemeber1); 
      } 
     }); 
    }, 
    // ... 
}); 

[1] this operator in javascript (примечание: 'это' не является оператором)

Смежные вопросы