簡體   English   中英

Extjs4創建一個mixin

[英]Extjs4 Creating a mixin

我試圖為Ext.grid.Panel組件創建一個混合。 這就是我試圖這樣做的方式:

Ext.define('myMixin', {
    myFunc:function(){
        console.log('completed!');
    }
});

Ext.grid.Panel.mixin('newmixin','myMixin');

結果是mixin已添加到網格組件中,但值undefined 希望我錯過了一些簡單的東西,但一些幫助將非常感激。

請記住,Ext.define是異步完成的。 我不知道Ext.grid.Panel.mixin是什么,因為這在ExtJS 4.0.1中不存在,但您可以嘗試在Ext.define的回調參數中添加mixin:

Ext.define('myMixin', {
    myFunc:function(){
        console.log('completed!');
    }
}, function() {
    Ext.grid.Panel.mixin('newmixin','myMixin');
});

我已經解決了這個問題,但我仍然不能100%肯定這個原因。 如果有人能解釋我非常樂意將它們標記為答案。

我做了以下事情:

Ext.grid.Panel.mixin('newmixin',Ext.define('myMixin', {
    myFunc:function(){
        console.log('completed!');
    }
}));

您是否嘗試以聲明方式添加mixin?

Ext.define('Path.to.MyMixin', {
    someFunc: function () {return 0;}
});

然后,在你的網格中:

Ext.define('Path.to.MyGrid', {
    extend: 'Ext.grid.Panel',
    mixins: ['Path.to.MyMixin'],
    ...
});

暫無
暫無

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

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