EXTJS,无法将事件处理程序绑定到控制器
Posted
技术标签:
【中文标题】EXTJS,无法将事件处理程序绑定到控制器【英文标题】:EXTJS, Unable to bind event handler to controller 【发布时间】:2012-05-21 12:56:35 【问题描述】:我将 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
);
//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: []
以更轻松地访问视觉元素和视图的信息。
【讨论】:
有效!谢谢。奇怪的是它不适用于“dblclick”,但它适用于“click”和“mouseover”。 没问题。如果适合您,请将答案标记为已回答。 它工作正常,但仅用于单击。知道为什么 dblclick 不会触发吗? 可能是因为按钮没有dblclick事件? docs.sencha.com/ext-js/4-0/#!/api/Ext.button.Button以上是关于EXTJS,无法将事件处理程序绑定到控制器的主要内容,如果未能解决你的问题,请参考以下文章