gpt4 book ai didi

sencha-touch-2 - Sencha 触摸 2 : 'specified Store cannot be found'

转载 作者:行者123 更新时间:2023-12-04 08:26:29 26 4
gpt4 key购买 nike

我正在尝试将 JSON 数据加载到 NestedList 中。我在/app/store/Exhibits.js 中有以下商店文件

Ext.define('VisitTCMIndy.store.Exhibits',{
requires: ['VisitTCMIndy.model.Exhibit', 'Ext.data.proxy.JsonP'],
extend: 'Ext.data.TreeStore',
config: {
model: 'VisitTCMIndy.model.Exhibit',
proxy: {
type: 'jsonp',
url: 'http://www.example.com/explore.php',
reader: {
type: 'json',
rootPropery: 'children'
}
}
}
});

然后我在/app/view/Explore.js 中的以下 View 中引用它

Ext.define('VisitTCMIndy.view.Explore', {
extend: 'Ext.Container',
requires: [
'Ext.data.TreeStore',
'Ext.dataview.NestedList',
'VisitTCMIndy.store.Exhibits',
],
xtype: 'explorecard',
config: {
iconCls: 'compass1',
title: 'Explore',
layout: 'fit',
items: [
{
xtype: 'titlebar',
docked: 'top',
title: 'Explore'
},
{
xtype: 'nestedlist',
fullscreen: true,
store: 'VisitTCMIndy.store.Exhibits',
detailCard: {
html: 'Explore Details'
},
listeners: {
leafitemtap: function(nestedList, list, index, target, record){
var detailCard = nestedList.getDetailCard();
detailCard.setHtml('Exhibit Title: '+ record.get('title'));
}
}
}

]
}
});

当我转到该页面时,我收到以下警告和一个空列表:

[WARN][Ext.dataview.NestedList#applyStore] The specified Store cannot be found

在我的一生中,我无法弄清楚自己做错了什么。

最佳答案

好的。结果我不得不在我的 app.js 文件中声明我的商店和模型。然后仅通过它的名称引用我的商店,而没有其余的类定义。因此,我将以下内容添加到我的 app.js 文件中:

models: ['Exhibit'],
stores: ['Exhibits'],

然后,这是我更新的 Explore.js View 文件。

Ext.define('VisitTCMIndy.view.Explore', {
extend: 'Ext.Container',
requires: [
'Ext.data.TreeStore',
'Ext.dataview.NestedList',
'VisitTCMIndy.store.Exhibits',
],
xtype: 'explorecard',
config: {
iconCls: 'compass1',
title: 'Explore',
layout: 'vbox',
items: [
{
xtype: 'titlebar',
docked: 'top',
title: 'Explore'
},
{
xtype: 'nestedlist',
store: 'Exhibits',
title: 'Museum Levels',
displayField: 'title',
detailCard: {
html: 'Explore Details'
},
listeners: {
leafitemtap: function(nestedList, list, index, target, record){
var detailCard = nestedList.getDetailCard();
detailCard.setHtml('<div style="text-align:center;margin:.5em;"><img src="'+record.get('image')+'" alt="'+record.get('title')+'" />'+
'<p style="text-align:left;">'+record.get('text')+'</p></div>'
);
}
},
flex: 1
}

]
}
});

另外,请注意我将布局从 fit 更改为 vbox。我必须这样做,并将列表的 flex 设置为 1,以便列表现在实际显示它正在加载数据。

关于sencha-touch-2 - Sencha 触摸 2 : 'specified Store cannot be found' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14900967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com