Extjs Script无效:抛出异常

时间:2011-07-08 12:58:42

标签: extjs

/**
 * Rajan Y. Rawal
 * application.js
 * This file is sample file for learing Extjs
 */

// reference local blank image
Ext.BLANK_IMAGE_URL = '../extjs/resources/images/default/s.gif';

// create namespace
Ext.namespace('myNameSpace');

// Just to allow this tutorial to work for 1.1 and 2.
//Ext.Ext2 = (Ext.version && (Ext.version.indexOf("2") == 0));

// create application
    myNameSpace.app = function() {
    var btn1;
    var privVar1 = 11;
    var btn1Handler = function(button, event) {
        alert('privVar1=' + privVar1);
        alert('this.btn1Text=' + this.btn1Text);
    };

    return {
        // public properties, e.g. strings to translate
        btn1Text: 'Button 1',

        // public methods
        init: function() {
                btn1 = new Ext.Button('btn1-ct', {
                    text: this.btn1Text,
                    handler: btn1Handler,
                    scope:this
                });
        }
    };
}();
Ext.apply(myNameSpace.app, {
    btn1Text:'Taste 1',
    init: function() {
        try {
            btn1 = new Ext.Button('btn1-ct', {
                text: this.btn1Text,
                handler: btn1Handler,
                scope: this
            });
        }
        catch(e) {
            alert('Error: "' + e.message + '" at line: ' + e.lineNumber);
        }
    }
});

我的错在哪里?

1 个答案:

答案 0 :(得分:0)

您的脚本正在运行。你到底想要做什么?

您正在创建一个带有处理程序的Ext.button,但是没有告诉它在页面上的任何位置进行渲染。你应该提供一个renderTo配置选项,告诉ExtJS将按钮渲染到给定的元素......

            btn1 = new Ext.Button('btn1-ct', {
                text: this.btn1Text,
                handler: btn1Handler,
                scope: this,
                renderTo: 'element-of-html-div'
            });

此外,您正在myNameSpace.app中定义并覆盖所有内容,这是毫无意义的。