Передача локальной переменной в обработчик события - PullRequest
0 голосов
/ 23 февраля 2011
h.d.d.w = Ext.extend(w.g.a,
{
    initComponent: function () {
      exampleFunctionA('Monday');
       //other fields omitted
    }
    exampleFunctionA: function (dayOfWeek) {
        this['WeekdayHoursStore' +dayOfWeek] = new Ext.data.Store({
            proxy: a.b.c.getProxy('d/e.asmx/f'),
            reader: g.h.i.j(
            [
              //array of config objects removed
            ]),
            sortInfo: //omitted
        });

        this['WeekdayHoursStore' +dayOfWeek].load(
        {
            params:
          {
              //parameters removed
          }
        });
        this['WeekdayHoursStore' +dayOfWeek].on("load", this._renderHours, this);
        //irrelevant code removed
    },

    _renderHours: function (dayOfWeek) {
        var dayIndex;
        for(var i = 0; i<7; i++){
            if(this.weekdays[i] === dayOfWeek){
                dayIndex = i;
                break;
            }
        }
        var record = this.WeekdayHoursStore.getAt(dayIndex);
        this['UseDefaultValue' +dayIndex] = record.get("UseDefault");
    }
    //further class members omitted
}

Как я могу передать dayOfWeek в _renderHours?

1 Ответ

4 голосов
/ 23 февраля 2011

Вы можете создать анонимную функцию и вызвать из нее this._renderHours:

this['WeekdayHoursStore' +dayOfWeek].on("load", function() {
    this._renderHours(dayOfWeek);
}, this);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...