ExtJS 4类加载失败

时间:2011-09-29 17:33:14

标签: javascript extjs extjs4

我的代码类似于:

Ext.define('GG.view.Workbench', {
    extend: 'Ext.container.Viewport',
    layout: 'fit',
    items: [
        {
            xtype: 'container',
            layout: 'border',
            items: [
                {
                    region: 'center',
                    items: [
                        Ext.create('GG.view.Foo')
                    ]
                },
                {
                    region: 'south',
                    items: [
                        Ext.create('GG.view.Bar')
                    ]
                }
            ]
        }
    ],

    initComponent: function() {
        this.callParent(arguments);
    }
});

当两个Ext.create调用放在那里时,代码不起作用。

这是我在Chrome上的内容:

Uncaught TypeError: object is not a function
(anonymous function)
Ext.ClassManager.instantiateext-debug.js:6428
(anonymous function)ext-debug.js:2414
(anonymous function)

我应该如何使用此Ext.create

1 个答案:

答案 0 :(得分:2)

你是过分的,你必须在每次创建类时执行的方法中做到这一点

Ext.define('GG.view.Workbench', {
    extend: 'Ext.container.Viewport',
    layout: 'border',

    initComponent: function() {
        var me = this;

        Ext.apply(me, {
            items : me.buildItems()
        });

        me.callParent(arguments);
    },

    buildItems: function() {
        return [
            {
                region: 'center',
                items: [
                    Ext.create('GG.view.Foo')
                ]
            },
            {
                region: 'south',
                items: [
                    Ext.create('GG.view.Bar')
                ]
            }
        ];
    }
});