我在我的项目中使用了 mixins(EXT Js 4)。我有以下结构。两个名为 Class A 和 Class B 的类具有以下功能。
Ext.define('ClassA', {
classAFunction: function() {
alert("ClassAFunction in class A");
}
});
Ext.define('ClassB', {
classBFunction: function() {
alert("ClassBFunction in class B");
},
classAFunction: function() {
alert("ClassAFunction in class B");
}
});
在我的控制器中,我使用 mixins 来扩展我的控制器的功能,如下面的代码所示。
Ext.define(Site_Controller', {
extend: 'Ext.app.Controller',
views: [
'ui.Site_View'
],
mixins: {
classA: 'ClassA',
classB: 'ClassB'
},
init: function() {
this.control({
'MainPanel button[action=save]':{
click: this.CreateSite
}
});
},
CreateSite: function() {
alert("HELLO");
this.classAFunction;
this.classBFunction;
}
});
我在点击视图中的按钮时调用控制器的 createsite 方法。因此,当首先调用 createsite 方法时,我得到了“HELLO”,然后调用了 classAFunction,它给了我“A 类中的 ClassAFunction”。所以它调用classA函数但我想调用classB中存在的ClassAFunction。所以在 extjs 中我怎么能做到这一点。
提前致谢。