1

Ext.grid.Panelコンポーネントのミキシングを作成しようとしています。これは私がそれをやろうとした方法です:

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

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

この結果、ミックスインがグリッド コンポーネントに追加されましたが、値はundefinedです。簡単なことを見逃していることを願っていますが、いくつかの助けをいただければ幸いです。

4

3 に答える 3

3

Ext.define は非同期で完了することに注意してください。ExtJS 4.0.1 には存在しないため、Ext.grid.Panel.mixin が何であるかはわかりませんが、Ext.define のコールバック パラメータ内に mixin を追加してみてください。

Ext.define('myMixin', {
    myFunc:function(){
        console.log('completed!');
    }
}, function() {
    Ext.grid.Panel.mixin('newmixin','myMixin');
});
于 2011-06-30T07:57:17.770 に答える
1

問題は解決しましたが、まだ理由が 100% わかりません。誰かが説明できる場合は、喜んで回答としてマークします。

私は次のことをしました:

Ext.grid.Panel.mixin('newmixin',Ext.define('myMixin', {
    myFunc:function(){
        console.log('completed!');
    }
}));
于 2011-05-16T04:45:30.483 に答える
0

ミックスインを宣言的に追加しようとしましたか?

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

そして、あなたのグリッドで:

Ext.define('Path.to.MyGrid', {
    extend: 'Ext.grid.Panel',
    mixins: ['Path.to.MyMixin'],
    ...
});
于 2014-01-07T14:09:03.803 に答える