2
我使用ExtJS 5.1.1并在基于MVC模式的另一个演示应用程序上锻炼。为什么不能显示视图?
bootstrapping有什么问题? 菜单面板未显示,也未打印消息console.log
!
demo-app的文件结构;
index.html
app.js
app/
view/
-- DBMainView
-- DBMenuPanel
app.js:
Ext.Loader.setConfig({
enabled: true
});
Ext.application({
views: ['DBMainView', 'DBMenuPanel'],
name: 'MultiDB',
launch: function() {
console.log('this is app.js');
Ext.create('MultiDB.view.DBMainView');
}
});
DBMainView.js:
Ext.define('MultiDB.view.DBMainView', {
extend: 'Ext.container.Viewport',
alias: 'widget.dbmainview',
requires: [
'MultiDB.view.DBMenuPanel',
'Ext.panel.Panel'
],
layout: 'border',
split: true,
items: [{
xtype: 'dbmenupanel',
region: 'west'
}],
initComponent: function() {
console.log('this is main view');
}
});
DBMenuPanel.js:
Ext.define('MultiDB.view.DBMenuPanel', {
extend: 'Ext.panel.Panel',
alias: 'widget.dbmenupanel',
width: 150,
collapsed: true,
collapsible: true,
initComponent: function() {
console.log('this is menu view');
}
});
尊敬的@ scebotari66感谢您的时间..现在它工作正常! BTW我添加了'this.callParent(arguments);'以同时查看*(MainView,MenuPanel)*然后它已经工作。以及我试图只在MainView类中添加,但它给了这个错误:'[W] XTemplate评估异常:无法读取null属性'项目'我希望我做了正确的设置? –
是的,你需要'this.callParent'这两个类。当只添加到主视图时,由于菜单面板尚未正确初始化,并且主视图无法将其识别为子组件,所以出现错误。你可以跳过'arguments'参数,因为函数没有参数。 – scebotari66