これはうまくいきました。私のファイルが大きくなりすぎているので、xtypesを使って複数の小さなファイルに分割しようとしています。Uncaught登録されていないxtypeを持つコンポーネントを作成しようとしています:
基本的に、私はまた、必要に応じxtypesを呼び出し、別のXTYPEのdetails.jsを呼び出すXTYPEのlist.jsを呼び出す1つのmain.jsファイルを持ってしようとしています...
私の問題は、以来、私は分割し始めたことです私のコード、私はこのエラーを受け取ります:Uncaught Attempting to create a component with an xtype that has not been registered
。
すべてのファイルがindex.htmlに正しくリンクされていることを確信しています。ここで
私のコードのサンプルです:
Details.js
var details = Ext.extend(Ext.Panel, {
layout: 'card',
cardSwitchAnimation: 'slide',
initComponent: function(){
Ext.apply(this,{
items:[]
})
details.superclass.initComponent.apply(this,arguments);
}
});
Ext.reg('details', details);
List.js
var Details = {xtype: 'details'};
var ListWrapper = new Ext.Panel({
id: "listwrapper",
layout: 'fit',
items: [List],
dockedItems: [homeTitleBar]
});
var Home = new Ext.Panel({
id: "home",
layout: 'card',
cardSwitchAnimation: 'slide',
items: [ListWrapper, Details]
});
var HomeTab = Ext.extend(Ext.Panel, {
iconCls: 'home',
title: 'Home',
layout: 'card',
initComponent: function() {
Ext.apply(this,{
items: [Home]
});
HomeTab.superclass.initComponent.apply(this,arguments);
}
});
Ext.reg('home', HomeTab);
Main.js
var menuBar = Ext.extend(Ext.TabPanel, {
layout: 'card',
cardSwitchAnimation: 'slide',
fullscreen: true,
tabBar: {
dock: 'bottom',
layout: {pack: 'center'}
},
items:[
{xtype: 'home'}
]
});
Ext.reg("menuBar", menuBar);