1

我是 Sencha Touch 的初学者,并且正在学习它。

以下我使用 Sencha Touch 2.1 编写的代码不起作用。我可以在浏览器上看到一个按钮,但是在点击该按钮时,这不会发出警报。请告诉我有什么问题。对不起我的英语不好,因为我是日本人。目录结构:

(root)---app.js
       |-app---view--Main_view.ja
             |-controller--Main_cont.js

[app.js]

Ext.application({
    name: 'MyApp',
    views: ['Main_view'],
    controllers: ['Main_cont'],
    launch: function() {
        Ext.Viewport.add(Ext.create('MyApp.view.Main_view'));
    }
});

[Main_view.js]

Ext.create('Ext.Container', {
    fullscreen: true,
    layout: {
        type: 'vbox',
        pack: 'center'
    },
    items: [
    {
    xtype : 'button',
    text : 'Button',
    id : 'action'
    }
    ]
});

[main_cont.js]

Ext.define('MyApp.controller.Main_cont',{
    extend: 'Ext.app.Controller',

    config: {
        control: {          
            '#action':{
                tap : function() {
                    alert('tap');
                }
            }
         }
    }
});
4

2 回答 2

2

使用按钮,您可以设置“处理程序”属性而不是点击侦听器:

xtype : 'button',
text : 'Button',
id : 'action',
handler : function(){
    alert('tap');
}
于 2013-02-02T21:44:27.443 回答
0

尝试这个:

'button[id=action]' : {
    tap : 'handleTap'
}

wherehandleTap应该是控制器中定义的函数。

如果你已经定义了它的视图,refs你甚至可以这样做:

'mainview button[id=action]' : {
    tap : 'handleTap'
}

这对我有用

于 2013-02-05T10:31:18.073 回答