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 に答える