2
私は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');
}
});
親愛なる@ scebotari66あなたの時間をありがとうございました..今はうまくいきます!ところで、私は 'this.callParent(arguments);'を*(MainView、MenuPanel)*の両方に追加し、それがうまくいきました。また、MainViewクラスでのみ追加しようとしましたが、このエラーが発生しました: '[W] XTemplate評価例外:プロパティ 'items' of nullを読み取れません。 –
はい、両方のクラスに 'this.callParent'が必要です。メインビューにのみ追加した場合、メニューパネルが正しく初期化されていないため、メインビューで子パネルとして識別できないため、エラーが発生します。関数に引数がないので、 'arguments'パラメータをスキップすることができます。 – scebotari66