Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 正在加载不正确的存储_Extjs_Extjs4_Extjs4.1 - Fatal编程技术网

Extjs 正在加载不正确的存储

Extjs 正在加载不正确的存储,extjs,extjs4,extjs4.1,Extjs,Extjs4,Extjs4.1,Ext.WIndow上有两个按钮。当我单击按钮1时,将执行以下代码 当我点击按钮2时,第二组代码被执行。这两个按钮都将从存储加载 问题 当我单击第1个按钮时,将打印以下console.log语句(这是我预期的方式) 之后,当我点击第二个按钮时,我得到了不正确的控制台。显示了日志 console.log ('win 2'); console.log('Came win 1'); // Which is coming from the 1st Buttons Load function. 按钮1

Ext.WIndow
上有两个按钮。当我单击按钮1时,将执行以下代码

当我点击按钮2时,第二组代码被执行。这两个按钮都将从
存储加载

问题

当我单击第1个按钮时,将打印以下
console.log
语句(这是我预期的方式)

之后,当我点击第二个按钮时,我得到了不正确的
控制台。显示了日志

console.log ('win 2');
console.log('Came win 1'); // Which is coming from the 1st Buttons Load function.
按钮1

        var personCus= Ext.getStore('Person');
        var record = personCus.getAt(0);
    console.log ('win 1');
    personCus.on('load', function() {
console.log('Came win 1');
        var label= Ext.ComponentQuery.query('#win1> #labido')[0];
        label.setText(record1.get('id'));
}
按钮2

        var personCus= Ext.getStore('Person');
        var record = personCus.getAt(0);
    console.log ('win 2');
    personCus.on('load', function() {
console.log('Came win 3');
        var label= Ext.ComponentQuery.query('#win2> #labid1')[0];
        label.setText(record1.get('id'));
}

我认为您的问题主要是因为您多次订阅
load
事件。基本上,当您执行Button2时,代码存储区将有两个处理程序用于
load
偶数,它们将同时运行这两个处理程序

通常在订阅
load
事件时,您希望添加
{single:true}
选项,因此处理程序将被调用一次并从存储中删除

store.on('load', 
   function() {...},  
   scope /* this or something like it... */,
   { single: true }
);
store.on('load', 
   function() {...},  
   scope /* this or something like it... */,
   { single: true }
);