我正在使用 ExtJS 5.1.1 并在另一个基于 MVC 模式的演示应用程序上进行练习。
引导有什么问题? 菜单面板未显示且未将消息打印到其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');
}
});
最佳答案
您在 initComponent
方法中缺少 this.callParent();
。您可以覆盖 initComponent ,但您始终必须调用父方法,以便组件正确初始化。
The initComponent method must contain a call to callParent in order to ensure that the parent class' initComponent method is also called.
关于model-view-controller - 为什么无法显示 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45569700/