最初の単純な mvc アプリを作成しようとしています。メイン ビューと製品ビューがあります。メインコントローラーもあります。My Products ビューは Ext.List を拡張します。私の問題は、データと itemTpl を設定したにもかかわらず、リストに何も表示されないことです。これが私のコードです:
app.js
Ext.application({
name: 'SenchaTest',
controllers: ['Main'],
launch: function() {
// Destroy the #appLoadingIndicator element
Ext.fly('appLoadingIndicator').destroy();
Ext.create('SenchaTest.view.Main');
},
});
ビュー/Main.js
Ext.define('SenchaTest.view.Main', {
extend: 'Ext.TabPanel',
requires:['Ext.data.Store'],
config: {
fullscreen: true,
items:[
{
xtype:'productspage',
title:'Products',
data: [
{ title: 'Item 1' },
{ title: 'Item 2' },
{ title: 'Item 3' },
{ title: 'Item 4' }
],
itemTpl:'{title}'
}
]
},
initialize: function() {
console.log('Main view initialize');
}
});
ビュー/Products.js
Ext.define('SenchaTest.view.Products', {
extend: 'Ext.List',
xtype: 'productspage',
initialize: function() {
console.log('Products view initialize');
},
});
コントローラー/Main.js
Ext.define('SenchaTest.controller.Main',{
extend: 'Ext.app.Controller',
config:{
views:['Main', 'Products'],
},
launch: function() {
console.log('Main Controller launch');
},
init: function() {
console.log('Main Controller init');
}
});
これが私のコンソールに表示されるものです:
Main Controller init
Products view initialize
Main view initialize
Main Controller launch
したがって、ビューとコントローラーが開始されます。しかし、私の製品リストには何も表示されません。リストコンポーネントをドラッグするとスクロールバーが表示されるため、リストコンポーネントがロードされているようです。
奇妙なことに、xtype: 'productspage' を xtype:'list' に変更すると .... 動作します .... しかし、私の製品ビューは Ext.List を拡張します ... 同じではありませんか?