1 つのファイルで、2 つのタブを持つタブ パネルを作成しています。別のファイルで使用するコンポーネントを登録しようとしています。次の点を考慮してください。
Ext.ns('DVI');
var backtestTab = {
xtype: 'groupingstore'
}
var intradayTab = {
xtype: 'groupingstore'
}
DVI.DviDashboard = new Ext.TabPanel({
activeTab: 0,
items: [backtestTab, intradayTab]
});
Ext.reg('dviDashboard', DVI.DviDashboard);
このページでは、タブにグループ ストアが適切に入力されていると想定します。このスクリプトを呼び出すページのコードは次のとおりです。
var dashboard = {
xtype: 'tabpanel',
id: 'port_dash-panel',
activeTab: 0,
items:[{
title: 'Dashboard',
xtype: 'dviDashboard'
}]
};
次のエラーが返されます。
b[d.xtype || e] is not a constructor
調査すると、上記のエラーは、コンポーネントが見つからないか、定義されていないことを示しています。
ただし、以下のコードは機能し、タブパネルをレンダリングします。
var dashboard = {
xtype: 'tabpanel',
id: 'port_dash-panel',
activeTab: 0,
items:[DVI.DviDashboard]
};
スニペットのみを表示しています。ダッシュボードのタブパネルはビューポートにレンダリングされます。
最初の質問は、この方法でコンポーネントを登録することさえできるのでしょうか? そしてもちろん、2 番目の質問は、なぜこれがうまくいかないのかということです。:)