【问题标题】:Button click event not firing from Controller - Beginner [closed]按钮单击事件未从控制器触发 - 初学者 [关闭]
【发布时间】:2012-07-02 11:44:57
【问题描述】:

我有一个名为User.js 的视图,其中有一个按钮。

...
buttons: [{
    text: 'Reset',
    id:'button'
}
...

现在我的控制器名为 User.js ,当用户单击按钮时,我需要显示一条 console.log 消息。控制台消息应从控制器打印。我的控制器代码如下;

Ext.define('Tangle.controller.User', {
    extend: 'Ext.app.Controller',

    init: function() {
        console.log('works  ');
        this.control({
            'button': {
                click: this.refresbut
            }
        });
    },

    refreshbut: function() {
        console.log('button clicked ');
    }
});

据此,没有打印控制台消息。有人可以看看这个吗??

代码

Ext.define('Tangle.view.user.User' ,{
    extend: 'Ext.form.Panel', 

    items: [{
        xtype: 'textfield',
        fieldLabel: 'Name',
        name: 'name'
    }],

    buttons: [{
        text: 'Submit',
        id:'button',
        name:'button'
    }]
});

【问题讨论】:

  • 您的视图渲染正常吗?如果您将视图作为控制器的配置包含在内,那将是有益的。此外,您正在使用代码连接所有系统按钮(因为控制器是系统全局的),您知道这一点吗?
  • 我的视图渲染得很好。我是 EXJ JS 4 的新手,你能给我举个例子吗?所以我可以很好地理解它
  • 你看过docs吗?
  • 如果你把console.log()放在控制器初始化的第一行,它会被调用吗?您能否提交您应用的完整代码?
  • 有助于查看 app.js

标签: extjs sencha-touch extjs4 extjs-mvc extjs4.1


【解决方案1】:

如 cmets 中所述。您忘记在您的应用程序中包含控制器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 2013-01-17
    • 2012-03-14
    • 2011-12-02
    • 2013-10-14
    • 2018-11-07
    • 1970-01-01
    相关资源
    最近更新 更多