我有2个商店,一个包含权限,另一个包含要在网格中显示的数据。但是我的文件中有一段代码只有在加载这两个商店后才能执行。目前在我的代码中没有这个条件检查,不能保证在执行关键代码之前加载存储
答案 0 :(得分:1)
为什么不直接听两个商店load
活动?
加载商店时,请翻转其标志。切换两个标志后,您可以调用关键代码。
{
firstLoaded: false,
secondLoaded: false,
initComponent: function(){
...
firstStore.on('load', function(){ this.firstLoaded=true; this.check(); }, this);
secondStore.on('load', function(){ this.secondLoaded=true; this.check(); }, this);
...
},
check: function(){
if (this.firstLoaded && this.secondLoaded) {
this.initializeLSEngine();
}
},
initializeLSEngine: function(){
...
}
}
如果需要,最后将{single:true}
添加到.on
。
答案 1 :(得分:0)
使用Extjs,我想你将不得不使用回调方法。
ExtJs商店附带了加载回调方法。您可以先加载一个商店,一旦加载,然后开始另一个商店的加载,最后您将能够知道两个商店都已加载。