ウィンドウがあり、いくつかのテキストフィールドとボタンが含まれています。ボタンの定義は次のとおりです。alias.widget:'mywin', ....
{
xtype: 'button',
height: 40,
width: 110,
text: 'send',
x: 58,
y: 12,
action: 'buttonclick'
},
私のコントローラーでは、このボタンのクリックを検出し、console.log ステートメントを表示します。
コードは次のとおりです。
init: 関数(アプリケーション) { this.control({
'mywin button[action=buttonclick]': {
click: this.butClick
}
});
},
butClick: function(button,record) {
console.log('Button clicked');
これは表示されません。どうすれば解決できますか?
アップデート
Ext.define('MyApp.view.MyWindowClass', {
extend: 'Ext.window.Window',
alias: 'widget.mywin',
height: 340,
id: 'mywinid',
width: 728,
layout: {
type: 'absolute'
},
initComponent: function() {
var me = this;
Ext.applyIf(me, {
items: [
{
xtype: 'textareafield',
height: 140,
width: 340,
fieldLabel: 'Name',
x: 370,
y: 80
},
{
xtype: 'button',
height: 40,
width: 210,
text: 'Save',
x: 480,
y: 240,
action: 'submitfeedback'
},
{
xtype: 'datefield',
id: 'dd',
readOnly: true,
fieldLabel: 'Today',
x: 10
}
],
listeners: {
show: {
fn: me.onWindowShow,
scope: me
}
}
});
me.callParent(arguments);
}
});
コントローラ
Ext.define('MyApp.controller.MyController', {
extend: 'Ext.app.Controller',
models: [
'MyController'
],
stores: [
'MyController'
],
views: [
'MyWindowClass',
],
init: function(application) {
this.control({
'mywin button[action=submitfeedback]': {
click: this.butClick
}
});
},
butClick: function(button,record) {
console.log('button clicked');
});
}
});