如何在EXTJS中循环遍历数组时获取范围

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在EXTJS中循环遍历数组时获取范围相关的知识,希望对你有一定的参考价值。

我有一个数组,我需要迭代来获取一个值。

    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() {

}

如何在迭代数组数组时保持范围?

答案

有两种方式:

a)将scope参数传递给每个:

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

b)在闭包中捕获范围:

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

以上是关于如何在EXTJS中循环遍历数组时获取范围的主要内容,如果未能解决你的问题,请参考以下文章

Extjs中如何遍历grid的数据(正在显示的数据)

Windows 批处理文件 - 循环遍历日期范围数组,然后拆分每个项目

c_cpp 这个简单的代码片段显示了如何使用有符号整数在C中完成插值。 for()循环确定要插入的范围

如何从数组中的 textarea HTML 标记中获取数据,然后循环遍历它?

在laravel-excel中循环遍历数组中的数组

js的Dom对象集合循环遍历过程中数组长度发生变化,小白不懂,求大神指教