我有两个视图文件list1.js
和list2.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,
]
}
});
答案 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,];
}