EXTJS,无法将事件处理程序绑定到控制器

EXTJS, Unable to bind event handler to controller

本文关键字:程序 绑定 控制器 事件处理 EXTJS      更新时间:2023-09-26
我正在使用 EXTJS

和 Node.JS并且在 EXTJS MVC 框架的上下文中处理事件时遇到困难。

在视图的类定义中定义事件侦听器时,我已经能够轻松注册单击事件,但似乎无法将此代码移动到控制器中。

以下是我当前的代码:

//Icon.JS (VIEW)
Ext.define('GeekFlicks.view.Icon', {
    extend: 'Ext.button.Button',
    alias: 'widget.icon',
    height: 48,
    width: 48,
    text: 'icon',
    draggable: true
});

图标.JS(控制器(

Ext.define('GeekFlicks.controller.Icon', {
extend: 'Ext.app.Controller',
models: ['Icon'],
stores: ['Icons'],
views: ['Icon'],
init: function () {
    this.control({          
        'listener': {
            click: function(c) {
                alert('working');
            }
        }
    });
},
});

有关 EXTJS 如何处理此类事件的任何帮助或解释都将非常有帮助,非常感谢!谢谢。

this.control更改为如下所示:

'icon': {
    click: function(c) {
       alert('working');
    }
}

你基本上需要让控制器知道哪个元素要控制。我还建议阅读有关在控制器中使用refs: []以更轻松地访问可视元素和视图的信息。