![](/img/trans.png)
[英]Uncaught TypeError: undefined is not a function / Ext.Require / ExtJS
[英]ExtJs 4.2, grid relayEvents from store load event cause Uncaught TypeError: undefined is not a function
這是上下文,我有一個可以由用戶動態重新加載的網格。 由於內容每次都在變化,我想在網格標題中添加網格中存在的元素數量。
為此,我想將此網格后面的商店的“加載”事件轉發給網格本身。
我想我可以使用這里描述的Extjs relayEvents函數
這是我的代碼:
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+')');
},
但是,當我啟動我的應用程序時,我得到的只是blanck頁面和錯誤。
在Chrome下我得到:
未捕獲的TypeError:undefined不是函數ext-all-dev.js:17772
和Firefox我得到:
TypeError:item.on不是函數ext-all-dev.js:17772
在Chrome上探索stackTrace,我發現錯誤來自relayEvents方法。
有人可以告訴我我做錯了什么,或者可能是另一種方式嗎?
在initComponet函數中,交換me.callParent
和me.relayEvents
的順序。 在callParent之后,應該創建商店,然后getStore()應該返回商店實例。
initComponent : function(){
var me = this;
me.callParent();
me.relayEvents(this.getStore(), ['load'], 'store');
},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.