gpt4 book ai didi

javascript - ExtJs 4.2,来自存储加载事件的网格 relayEvents 导致未捕获的类型错误 : undefined is not a function

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:45:52 26 4
gpt4 key购买 nike

这是上下文,我有一个可以由用户动态重新加载的网格。由于内容每次都不同,我想在网格的标题中添加网格中存在的元素数量。

为此,我想将此网格后面的商店的“加载”事件中继到网格本身。

我想我可以使用 Extjs relayEvents 函数,如描述的那样 here

这是我的代码:

initComponent : function(){
var me = this;
me.relayEvents(this.getStore(), ['load'], 'store');
me.callParent();
},

由于我使用的是 MVC 架构,因此事件在网格的 Controller 中处理如下:

init : function() {
this.control({
'genericGrid' : {
storeload: this.setTitle
}
});

},

setTitle : function(grid){

var total=grid.getStore().count();
grid.setTitle('List ('+total+')');

},

但是,当我启动我的应用程序时,我得到的只是空白页面和一个错误。

在 Chrome 下我得到:

Uncaught TypeError: undefined is not a function ext-all-dev.js:17772

我得到的是 Firefox:

TypeError: item.on is not a function ext-all-dev.js:17772

在 Chrome 上探索 stackTrace,我发现错误来自 relayEvents 方法。

谁能告诉我我哪里做错了,或者有其他方法吗?

最佳答案

在您的 initComponet 函数中交换 me.callParentme.relayEvents 的顺序。在 callParent 之后,应该创建商店,然后 getStore() 应该返回商店实例。

initComponent : function(){
var me = this;
me.callParent();
me.relayEvents(this.getStore(), ['load'], 'store');
},

关于javascript - ExtJs 4.2,来自存储加载事件的网格 relayEvents 导致未捕获的类型错误 : undefined is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27523227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com