我正在尝试为Ext.grid.Panel
组件创建混音。这就是我试图这样做的方式:
Ext.define('myMixin', {
myFunc:function(){
console.log('completed!');
}
});
Ext.grid.Panel.mixin('newmixin','myMixin');
结果是mixin已添加到网格组件中,但值为undefined
。希望我错过了一些简单的东西,但是一些帮助会非常感激。
答案 0 :(得分:3)
请记住,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');
});
答案 1 :(得分:1)
我已经解决了这个问题,但我仍然不能100%确定原因。如果有人能解释我非常乐意将它们标记为答案。
我做了以下事情:
Ext.grid.Panel.mixin('newmixin',Ext.define('myMixin', {
myFunc:function(){
console.log('completed!');
}
}));
答案 2 :(得分:0)
您是否尝试以声明方式添加mixin?
Ext.define('Path.to.MyMixin', {
someFunc: function () {return 0;}
});
然后,在您的网格中:
Ext.define('Path.to.MyGrid', {
extend: 'Ext.grid.Panel',
mixins: ['Path.to.MyMixin'],
...
});