【发布时间】:2014-10-09 08:58:43
【问题描述】:
我正在使用 Ext.js 尝试用商店填充手风琴面板。
这是一段代码:
var store = Ext.create('Ext.data.Store', {
model: jobStatusModel,
storeId: jobStatusDescription,
sortOnLoad: true,
proxy: {
type: 'ajax',
url: 'http://server/JobScheduler/Service.svc/JobScheduler/Jobs/' + jobStatusDescription,
reader: {
type: 'json'
}
},
autoLoad: true,
listeners: {
load: fillItemsAndSetPanelTitle
}
});
这嵌入在针对每个“作业状态”运行的循环中。
在这个循环之外,我有fillItemsAndSetPanelTitle 函数。
每当我从创建存储中删除“侦听器”时,它都运行良好。但否则,我会收到错误消息:
Uncaught TypeError: Cannot read property 'fn' of undefined
知道我在这里做错了什么吗?
编辑:我发现它会抱怨,因为我正在“手动”调用我的主函数。
以前,它使用过:
this.control({
"#MainMenuPanel": {
render: this.onMainMenuPanelRender
}
});
我想在调用onMainMenuPanelRender 之前等待我的商店加载,但是在等待所有商店加载的函数中添加"this.control" 调用似乎不起作用,所以我称之为“手动”@ 987654327@.
所以我想我现在的问题是:如何在初始“init”函数之外调用"this.control"?
【问题讨论】:
-
为什么要在 controller.init 之外调用 this.control ?它所做的只是设置控制器。在其他地方没有意义。我认为你的方向是错误的。
标签: javascript extjs store listeners