如何在sencha中的视图文件中启动另一个类对象

时间:2014-03-19 07:52:52

标签: extjs view

我有两个视图文件list1.jslist2.js。在我的第三个视图文件mainTool.js中,当我为上面两个类添加对象时,它给了我以下错误。 但是当我直接在app.js中尝试这个时,没有给出任何错误。请帮帮我

Uncaught ReferenceError: list1 is not defined

Ext.define('test.view.mainTool', {
    extend: ['Ext.Container'],

    requires: ['Ext.field.Search',
        'test.view.list',
        'test.view.list2',
        'Ext.Toolbar'],
    initialize: function () {
        var list1 = Ext.create('test.view.list');
        var list2 = Ext.create('test.view.list2');
        list2.setHidden(true);

    },


    config: {
        items: [{
            xtype: 'toolbar',
            docked: 'top',
            ui: 'normal',


            items: [{
                xtype: 'searchfield',
                placeHolder: 'Search...',
                left: true,
                id: 'mainSearch',
                width: 200,

            }, {
                xtype: 'button',
                ui: 'action',

                text: 'filter',
                id: 'filter'
            }, {
                xtype: 'spacer'
            }, {
                xtype: 'button',
                ui: 'action',
                text: 'showOnMap',
                id: 'showOnMap'
            }, {
                xtype: 'button',
                ui: 'action',
                iconCls: 'arrow_left',
                id: 'back'
            }, {
                xtype: 'button',
                ui: 'action',
                iconCls: 'home',
                id: 'home'
            }

            ]
        },
        list1, {
            xtype: 'spacer'
        },
        list2,

        ]
    }
});

1 个答案:

答案 0 :(得分:0)

首先调用父方法,然后在inizialize方法中添加项目,而不是在配置选项中添加:

initialize: function () {

    this.callParent(arguments);

    var list1 = Ext.create('test.view.list');
    var list2 = Ext.create('test.view.list2');
    list2.setHidden(true);

    this.items = [{
        xtype: 'toolbar',
        docked: 'top',
        ui: 'normal',


        items: [{
            xtype: 'searchfield',
            placeHolder: 'Search...',
            left: true,
            id: 'mainSearch',
            width: 200,

        }, {
            xtype: 'button',
            ui: 'action',

            text: 'filter',
            id: 'filter'
        }, {
            xtype: 'spacer'
        }, {
            xtype: 'button',
            ui: 'action',
            text: 'showOnMap',
            id: 'showOnMap'
        }, {
            xtype: 'button',
            ui: 'action',
            iconCls: 'arrow_left',
            id: 'back'
        }, {
            xtype: 'button',
            ui: 'action',
            iconCls: 'home',
            id: 'home'
        }

        ]
    },
    list1, {
        xtype: 'spacer'
    },
    list2,];

}