Как получить область при цикле через массив в EXTJS - PullRequest
0 голосов
/ 28 апреля 2018

У меня есть массив, который мне нужно перебрать, чтобы получить значение.

    someFunc: function(item) {
          var array = Ext.select(".item").elements;
          var elements;
          var itemId = item.id;
          Ext.each(array, function(ob){
            if (ob.id === itemId) {

              elements = ob.getElementsByTagName("input");
              Ext.each(elements, function(att){
                if (att.getAttribute("name") === "filter") {
                  console.log(att); 
                 this.callFunction();
    // here I want to call a function to do some stuff
    // but `"this"` here refers to input element
   //I should be able to call the function outside the someFunc, but I'm loosing scope
                    }

              });
            }


            });
        },

callFunctionL function() {

}

Как сохранить область при переборе массивов массива?

1 Ответ

0 голосов
/ 28 апреля 2018

Есть 2 способа:

a) Передайте параметр scope каждому:

Ext.each(o, function() {
    console.log(this);
}, this);

б) Захват прицела в закрытие:

var self = this;
Ext.each(o, function() {
    console.log(self);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...