プロジェクトで mixins(EXT Js 4) を使用しました。私は次の構造を持っています。次の機能を持つクラス A とクラス B という名前の 2 つのクラス。
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");
}
});
私のコントローラーでは、次のコードに示すように、ミックスインを使用してコントローラーの機能を拡張しました。
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では、どうすればこれを実現できますか。
前もって感謝します。