Extjs4 ExtJS 4在控制器中使用业务逻辑,当它';s从视图中触发

Extjs4 ExtJS 4在控制器中使用业务逻辑,当它';s从视图中触发,extjs4,Extjs4,我有一个这样设计的视图: Ext.define('MY.view.NotificationMails', { extend: 'Ext.grid.Panel', alias: 'widget.NotificationMailsPanel', id: 'id-notification-mails-panel', 我有这个视图的控制器,它是: Ext.define('MY.controller.NotificationMailsController', { exte

我有一个这样设计的视图:

Ext.define('MY.view.NotificationMails', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.NotificationMailsPanel',
    id: 'id-notification-mails-panel',
我有这个视图的控制器,它是:

Ext.define('MY.controller.NotificationMailsController', {
    extend: 'Ext.app.Controller',
    models: [
    'NotificationMailsRecord'
    ],

    stores: [
    'NotificationMailsStore'
    ],

    views: [
    'NotificationMails'
    ],
//  refs:[{
//      ref: 'notificationMails',
//      selector: 'mailGrid'    
//  }],

    init: function()    {
        this.control({
            '#id-notification-mails-panel': {

                itemclick: this.clickedSomething
            }

        })

    },
为了进行一些测试并最终找到问题所在,
项的简单函数定义单击

clickedSomething: function() {
    console.log('Deteceted click');
}
但什么也没发生。我尝试了许多变体,但仍然无法从视图中获取操作来执行控制器中的函数。 有趣的是,我有几个控制器,其中大多数都能正常工作,但这一个和其他几个——我不知道——可能是我做错了什么,可能是其他地方的原因

谢谢

勒隆


这很奇怪。我会尝试以下操作:init()中的console.log以查看控制器是否已初始化(您可能忘记将其包含在应用程序控制器列表中)。

这很奇怪。我将尝试以下操作:init()中的console.log以查看控制器是否已初始化(您可能忘记将其包含在控制器的应用程序列表中);尝试钩住渲染事件;将选择器更改为“NotificationMailsPanel”。尝试将视图定义中的
id
替换为
itemId
。抱歉,正如Izhaki所说,我忘记将其包含在应用程序列表中。如果你想添加它作为答案,这样我就可以接受它。谢谢