第一个扩展示例不起作用



我想学习extjs,所以我是一个新手,很抱歉这里有任何愚蠢的问题。

这是我的索引.html页面:

<html>
<head>
<meta charset="UTF-8">
<title>Test Hello</title>
<script type="text/javascript" src="extjs-4.2.1-gpl/ext-all.js"></script>
<script type="text/javascript" src="extjs-4.2.1-gpl/ux/form/LoginForm.js"></script>
<!-- <link href="extjs-4.1.1a/KitchenSink-all.css" rel="stylesheet" type="text/css" /> -->
<link href="extjs-4.2.1-gpl/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div align="center" id= "content"  >
    <script type="text/javascript">
        var loginForm = Ext.create("test.view.form.LoginForm", {
                id : "panellogin", 
                renderTo : 'content'
        });
    </script>
</div>
</body>
</html>

和登录表单:

Ext.define('test.view.form.LoginForm', {
    extend: 'Ext.form.Panel',
    xtype : "test.view.form.LoginForm",
    title: 'Login',
    frame:true,
    width: 320,
    bodyPadding: 20,
    defaultType: 'textfield',
    defaults: {
        anchor: '100%'
    },
    initComponent: function() {
        var me = this;
        me.items = [me.contentPanel];
        me.contentPanel = Ext.create("Ext.grid.Panel", {
            border: true,
            align :"center",
            layout: {
                type: "hbox",
                align: "center"
            },
            items: [
                    {
                        allowBlank: false,
                        fieldLabel: 'User ID',
                        name: 'user',
                        emptyText: 'user id'
                    },
                    {
                        allowBlank: false,
                        fieldLabel: 'Password',
                        name: 'pass',
                        emptyText: 'password',
                        inputType: 'password'
                    },
                    {
                        xtype:'checkbox',
                        fieldLabel: 'Remember me',
                        name: 'remember'
                    }
                    ]
        });
    }
});

我到底做了什么:

  1. 从煎茶网站下载extjs 4.2.1-gpl(压缩约65 Mo)
  2. 当我发现巨大的尺寸时,我删除了示例,文档之类的东西
  3. 在 4.2.1-gpl 目录中名为 ux 的目录中移动了 src
  4. 保留资源、图像和区域设置文件夹。

我需要建议,这是一个好方法吗?我不能放整个内容,因为它是300多Mio!请保留什么?

Firebug向我显示此错误:TypeError: c is undefined (in ext-all.js line 21)谷歌浏览器显示这个:Uncaught TypeError: Cannot read property 'length' of undefined

亲切问候

你能说说

发生了什么吗

在加载 extjs 源代码后执行代码 (Ext.onReady...):

Ext.onReady(function () {
    var loginForm = Ext.create("test.view.form.LoginForm", {
        id : "panellogin", 
        renderTo : 'content'
    });
});

这不是你应该做的。特别是删除东西并将 src 重命名为 ux。此外,test.view.form.LoginForm的类定义应该在文件app/view/form/LoginForm.js中,而不是ux/form

阅读文档如何入门,尤其是 MVC 应用程序体系结构和应用程序体系结构系列。

最新更新