【问题标题】:Calling a 'Controller' method, when button clicked from 'View'从“视图”单击按钮时调用“控制器”方法
【发布时间】:2012-05-06 06:41:19
【问题描述】:

我添加了一个按钮,如下面的代码所示,我添加了id:'submitBtn',因此当单击此按钮时,控制器类MyController 将被调用并执行。

1.) 代码如何知道它应该去执行 Controller 类?

{
                   xtype:'button',
                   {
                   xtype:'button',
                   id:'submitBtn',
                   text:'Send',
                   ui:'confirm',
                   padding:5
                   text:'Send',
                   ui:'confirm',
                   padding:5
}

为了检查一切是否正常,我检查了控制器类是否被调用;这是代码;

MyController.js

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

       config: {
       refs : {
       submitBtn: '#submitBtn'
       },

       controls : {
       submitBtn: {
       onTap: 'submitData'
       }
       },
       },

       submitData: function() {
       var form = Ext.getCmp('form-id');
       alert("Came here!");

       var formvalues = form.getValues();

       // Web Service code goes here ..
       Ext.Ajax.request({
                        params: formvalues,                     
                        url:'http://mywebservice.com/web_ser'

                        success : function() {
                        Ext.Msg.alert('Success');
                        }

       }
       });

但是,没有显示警报。我认为控制器类没有被调用。

app.js 类中,我添加了控制器,如下所示;

views: ['Main','Home', 'Contact'],
    controller:['MyController'],

帮助?

【问题讨论】:

    标签: cordova sencha-touch extjs sencha-touch-2


    【解决方案1】:

    MyController.js

    改变

    1. controls:control:
    2. onTap :tap :

    & 它现在应该可以工作了。

    代码如何知道它应该去执行 Controller 类 ?

    查看documentation of controller 以获得简洁和完整的解释

    【讨论】:

    • 同样在app.js中controller 应该是controllers
    猜你喜欢
    • 2023-03-05
    • 1970-01-01
    • 2017-06-06
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多