1

マイビュー(MyFormPanel)

var controllers = Ext.define("MyApp.controller.formcontroller", {
    extend: "Ext.app.Controller",
    config: {
        refs: {
            username: "username"

 },
},
launch: function () {
     alert('Controller launched');

    },
    init: function () {
         alert('Controller init');
    },
myaction : function (options) {
    alert('options');
      var username = options.username;
      this.render ({
        xtype: 'MyATM',
        username: username})}
});
var formPanel = Ext.create('Ext.form.Panel', {
    fullscreen: true,
    scrollable: 'vertical',
    layout: {
        align: 'center',
        type: 'vbox'
    },
    items: [
            {
                xtype: 'toolbar',
                docked: 'top',
                title: 'Login Form'
            },
            {
        xtype: 'fieldset',
        items: [  
                {  
                    xtype: 'fieldset',   
                    title:'Enter user name & password',  
                    defaults: {  
                        required: true,  
                        labelAlign: 'left',  
                        labelWidth: '50%'  
                    },  
                    items: [  
                    {  
                        xtype: 'textfield',  
                        name : 'username',  
                        label: 'User Name', 
                        allowBlank:false,
                        useClearIcon: true  
                    }, {  
                        xtype: 'passwordfield',  
                        name : 'password',  
                        label: 'Password', 
                        allowBlank:false,
                        useClearIcon: false  
                    }, 
                    {
                        xtype: 'checkboxfield',
                        required:false,
                        id: 'RememberMe',
                        name: 'RememberMe',
                        label: 'Remember Me',
                        labelWidth: '50%'
                        },
                        {
                            xtype: 'button',
                            ui: 'confirm-round',
                            text: 'Log In' , 
                                handler: function() {
                                    //Ext.Msg.alert('Form Values', JSON.stringify(formPanel.getValues(), null, 2));

                                    Ext.ControllerManager.get('formcontroller').ControllerMethod({myaction: myaction});

                                }
                        }

                    ]  
                }],  
    }]
});

formPanel.add({
    xtype: 'toolbar',
    docked: 'bottom',
    layout: { pack: 'center' },

});

私のコントローラー(FormController)

    Ext.define("MyApp.controller.formcontroller", {
    extend: "Ext.app.Controller",
    config: {
        refs: {
            username: "username"

 },
},
launch: function () {
     alert('Controller launched');

    },
    init: function () {
         alert('Controller init');
    },
myaction : function (options) {
    alert('options');
      var username = options.username;
      this.render ({
        xtype: 'MyATM',
        username: username})}
});

私はAndroid2.3のPhonegap1.4でSenchatouch2を使用しています。ログインボタンでビューをコントローラーに移動しようとすると、ハンドラー関数をクリックしてコントローラーを呼び出します。エラーが発生します。Ext.dispatchが関数として定義されていません。ビューをコントローラーに、またはその逆に移動する実際の方法を教えてください。ありがとう

4

3 に答える 3

0

Ext.dispatchSencha Touch 2 での推奨される使用方法ではありません。削除される可能性があります...

とにかく、コントローラーからビューのイベントをリッスンして処理する最良の方法は次のとおりです。

Ext.define("MyApp.controller.formcontroller", {
extend: "Ext.app.Controller",
config: {
  refs: {
    loginButton: "#login-button" // set an id for your login button and this ref works
  },
  control: {
    loginButton: {
      tap: 'handleLogin',
    }
  handle_login: function(){whatever you want to do here}
}
于 2012-04-27T16:09:41.747 に答える
0

そしてアーキテクトでは...

を。ボタンの設定に移動し、

b. イベントバインディングを検索し、

c. 右側の[+]ボタンを押します。

d. 「基本ハンドラー」を追加する

e. タップイベントを選択

f. 名前を付けます (onButtonSendTap など)。

g. 完了を押します

h. 右マウス

私。行動に移す

j. [新しいコントローラー] または既存のコントローラーを選択します

k. 新しいコントローラーを選択した場合は、名前を付けて出来上がり、コントローラーにハンドラーがあります。

于 2012-06-10T07:26:15.433 に答える
0

そしてアーキテクトでは
... ボタンの設定に移動し、b. イベントハンドラを検索し、c.右側の[+]ボタンを押します。
d. 「基本ハンドラー」を追加します e. TAP イベントを選択します f. 名前を付けます (onButtonSendTap など) g. 完了 h を押します。右マウス i. アクション j に変換します。[新しいコントローラー] または既存のコントローラーを選択します k. 新しいコントローラーを選択した場合は、名前を付けて出来上がり、コントローラーにハンドラーがあります。

于 2012-06-10T06:38:40.187 に答える