Javascript ExtJs 4.2,存储加载事件的网格relayEvents导致未捕获类型错误:未定义不是函数
这里是上下文,我有一个可以由用户动态重新加载的网格。由于内容每次都不同,我想在网格的标题中添加网格中存在的元素数量 为此,我想将此网格后面的存储的“加载”事件中继到网格本身 我想我可以使用Extjs relayEvents函数,如前所述 这是我的密码:Javascript ExtJs 4.2,存储加载事件的网格relayEvents导致未捕获类型错误:未定义不是函数,javascript,extjs,event-handling,grid,Javascript,Extjs,Event Handling,Grid,这里是上下文,我有一个可以由用户动态重新加载的网格。由于内容每次都不同,我想在网格的标题中添加网格中存在的元素数量 为此,我想将此网格后面的存储的“加载”事件中继到网格本身 我想我可以使用Extjs relayEvents函数,如前所述 这是我的密码: initComponent : function(){ var me = this; me.relayEvents(this.getStore(), ['load'], 'store'); me.callParent();
initComponent : function(){
var me = this;
me.relayEvents(this.getStore(), ['load'], 'store');
me.callParent();
},
由于我使用的是MVC体系结构,因此事件将在网格控制器中处理,如下所示:
init : function() {
this.control({
'genericGrid' : {
storeload: this.setTitle
}
});
},
setTitle : function(grid){
var total=grid.getStore().count();
grid.setTitle('List ('+total+')');
},
然而,当我启动我的应用程序时,我得到的只是Black page和一个错误
在Chrome下,我得到:
未捕获类型错误:未定义不是函数ext-all-dev.js:17772
我得到了:
TypeError:item.on不是函数ext-all-dev.js:17772
在Chrome上浏览stackTrace时,我发现错误来自relayEvents方法
有人能告诉我我做错了什么,或者是其他方法吗?在initComponet函数中,交换
me.callParent
和me.relayEvents
的顺序。调用Parent后,应创建存储,然后getStore()应返回存储实例
initComponent : function(){
var me = this;
me.callParent();
me.relayEvents(this.getStore(), ['load'], 'store');
},
this.getStore()
是否返回实际的存储对象?@And-y谢谢你的提示。这个.getStore()没有返回实际的商店,但是他的名字非常感谢您的帮助