Я работаю с примером MVC здесь , и обошел данные контактов PhoneGap и заменил их своей собственной моделью и хранилищем.Когда я добавляю список на панель, я указываю на myApp.stores.products.Список представляет собой DataView, поэтому tpl
, store
и itemSelector
являются обязательными, но в примере пропускается itemSelector
и используется itemTpl
вместо tpl
...
items: [{
xtype: 'list',
store: myApp.stores.products,
itemTpl: '{productName}',
onItemDisclosure: function (record) {
//Ext.dispatch({
// controller: myApp.controllers.products,
// action: 'show',
// id: record.getId()
//});
}
}]
Естественно, я получаю предупреждение консоли следующим образом:
Uncaught DataView требует определения конфигураций tpl, store и itemSelector.
Итак, я изменяю конфигурацию на какуюЯ знаю, что должно быть, и теперь получаю ошибку ...
items: [{
xtype: 'list',
store: myApp.stores.products,
tpl: '{productName}',
itemSelector: 'div.productView',
onItemDisclosure: function (record) {
//Ext.dispatch({
// controller: myApp.controllers.products,
// action: 'show',
// id: record.getId()
//});
}
}]
Uncaught Error: Ext.List: itemTpl является обязательной конфигурацией.
Итак, чтоэто?itemTpl или tpl?И почему Ext.List не знает, что использовать?Я даже попытался добавить и tpl
, и itemTpl
, просто чтобы быть в безопасности, и все же получил первую из двух ошибок, описанных выше.
ПРИМЕЧАНИЕ: Вот как это выглядит вконтекст панели:
myApp.views.ProductList = Ext.extend(Ext.Panel, {
dockedItems: [{
xtype: 'toolbar',
title: 'Products'
}],
items: [{
xtype: 'list',
store: myApp.stores.products,
tpl: '{productName}',
itemSelector: 'div.productView',
onItemDisclosure: function (record) {
//Ext.dispatch({
// controller: myApp.controllers.products,
// action: 'show',
// id: record.getId()
//});
}
}],
initComponent: function() {
myApp.stores.products.load();
myApp.views.ProductList.superclass.initComponent.apply(this, arguments);
}
});
ОБНОВЛЕНИЕ: Я думаю, что это раздражает initComponent.apply () ...
myApp.views.ProductList.superclass.initComponent.apply(this, arguments);