2012-05-21 113 views
0

我使用EXTJS和Node.JS,并且在EXTJS MVC框架的上下文中处理事件时遇到困难。EXTJS,无法将事件处理程序绑定到控制器

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

下面就一起来看看我当前的代码:

//Icon.JS (VIEW) 

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

//Icon.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与这些类型的事件,如何应对是将非常有帮助,非常感谢!谢谢。

回答

1

变化this.control是这样的:

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

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

+0

它的工作原理!谢谢。奇怪的是它不适用于“dblclick”,但它适用于“点击”和“鼠标悬停”。 – Matikus1trillion

+0

没问题。请标记答案为答案,如果它适合你。 – sha

+0

它的工作,但只是单击。任何想法为什么dblclick不会被解雇? – Matikus1trillion

相关问题