1

我在 Web 编程方面的经验仅限于中级、自学的 JS 和 jQuery 以及少量 PHP。ExtJS 变成了完全不同的动物。

我无法弄清楚为什么我的控制器没有按照我的预期做,特别是因为我遵循文档中使用的语法(由于它们无法描述示例中实际发生的情况,因此变得越来越无用。 ..但我离题了)。

主.js

    Ext.define("cs.view.Main", {
        extend: 'Ext.TabPanel',
        tabBarPosition: 'bottom',

        requires: [
            'cs.view.form',
            'cs.view.location',
            'Ext.TitleBar',
            'cs.controller.geolocate'
            ],

        config: {
            tabBar: {
                docked: 'bottom',
            },
            defaults: {
                flex: 1
            },
            items: [
                { xtype: 'form' },
                { xtype: 'location' }
                ]
            },
    });

表单.js

Ext.define('cs.view.form', {
    extend: 'Ext.form.Panel',
    requires: 'cs.controller.geolocate',
    id: 'ClientFinderForm',

    config: {
        title: 'Home',
        iconCls: 'home',
        items: [
        {
            xtype: 'toolbar',
            docked: 'top',
            title: 'Client Finder'
        },
        {
            xtype: 'textfield',
            name: 'address',
            label: 'address'
        },
        {   
            xtype: 'textfield',
            name: 'dist',
            label: 'distance(mi)'
        },
        {
            xtype: 'button',
            ui: 'confirm',
            text: 'submit',
            id: 'submitButton',
        }
            ]
        },
});

地理定位.js

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

    config: {
        control: {
            aButton: {
                tap: 'message'
            }
        },//control
        refs: {
            aButton: '#submitButton'
        },//refs
    },//config

    message: function(){
        Ext.Msg.alert("Success", "Finally!");
    }
});
4

1 回答 1

1

我相信 sencha touch 2 希望您将 views:[] 放入您的应用程序中。js

同样在您的 cs.view.form 中,您应该取出 xtype:'form',它已经通过扩展 Ext.form.panel 知道它的表单。

从提交按钮中取出别名,您需要自己定义提交按钮以使用别名。

于 2012-04-11T15:37:31.753 回答