1

私はextjs 5を使用しており、Ajaxを使用していくつかのツリーパネルを作成してJSONを取得し、アプリケーションの本体にパネルを設定しようとしています.

ページをロードすると、エラーが発生し、Ext.panel.Panel に値が入力されません。

Firebug shows:

TypeError: Ext.PluginManager is undefined          bootstr... > eval (línea 5276, columna 16)

Chrome console:

Uncaught TypeError: Cannot read property 'create' of undefined Component.js:5276
Ext.define.privates.constructPlugin Component.js:5276
Ext.define.privates.constructPlugins Component.js:5305
Ext.define.initComponent Component.js:3156
Ext.Base.Base.addMembers.callParent Base.js:1256
Ext.define.initComponent Component.js:5
Ext.Base.Base.addMembers.callParent Base.js:1256
Ext.define.initComponent Container.js:1248
Ext.Base.Base.addMembers.callParent Base.js:1256
Ext.define.initComponent Container.js:269
Ext.define.constructor Component.js:1718
constructor Class.js:29
Ext.define.initComponent Table.js:489
Ext.Base.Base.addMembers.callParent Base.js:1256
Ext.define.initComponent Table.js:11
Ext.Base.Base.addMembers.callParent Base.js:1256
Ext.define.initComponent Panel.js:400
Ext.define.constructor Component.js:1718
Ext.Base.Base.addMembers.callParent Base.js:1256
Ext.define.constructor Table.js:383
Ext.Base.Base.addMembers.callParent Base.js:1256
Ext.define.constructor Panel.js:323
constructor Class.js:29
(anonymous function) VM1904:3
Ext.ClassManager.Ext.apply.create ClassManager.js:1413
(anonymous function) Main.js:56
Ext.Array.ExtArray.each Array.js:345
Ext.Ajax.request.success Main.js:49
Ext.apply.callback Util.js:108
Ext.define.onComplete Connection.js:1112
Ext.define.onStateChange Connection.js:1048
(anonymous function) Function.js:164

私のコード:

Main.js

Ext.require([
    'Ext.tree.*',
    'Ext.grid.*',
    'Ext.ux.*',
    'Ext.panel.*',
    'Ext.container.*'
]);

var carpetasPanel = Ext.create('Ext.panel.Panel',{
    title: 'SIE - Menú',
    width: 250,
    region: 'west',
    id: 'accordionPanel',
    layout: {
        type: 'accordion',
        align: 'stretch',
        titleCollapse: false,
        animate: true
    },
    collapsible: true,
    defaultType: 'treepanel',
    split: true,
    defaults: {
        rootVisible: false,
        flex: 1,
        useArrows: true
    }
});

Ext.Ajax.request({
    url: 'resources/carpetas.json',

    success: function(response){
        var nodes = Ext.JSON.decode(response.responseText);

        Ext.each(nodes, function(node) {

            carpetasPanel.add({

                title: node.id,
                text: node.text,
                id: node.id,
                items: Ext.create('Ext.tree.Panel', {
                    header: false,
                    width: 250,
                    height: 600,
                    rootVisible: false,
                    root: {
                        expanded: false,
                        children: node.children
                    }
                })
            });
        });
    }
});


Ext.define('SIEE.view.main.Main', {
    extend: 'Ext.container.Container',

    xtype: 'app-main',

    controller: 'main',
    viewModel: {
        type: 'main'
    },

    layout: {
        type: 'border'
    },

    items: [ carpetasPanel]
});
4

0 に答える 0