簡體   English   中英

ExtJs 4.2,來自商店加載事件的網格relayEvents導致Uncaught TypeError:undefined不是函數

[英]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.callParentme.relayEvents的順序。 在callParent之后,應該創建商店,然后getStore()應該返回商店實例。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM