Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 要显示存储的Sencha列表_List_Extjs - Fatal编程技术网

List 要显示存储的Sencha列表

List 要显示存储的Sencha列表,list,extjs,List,Extjs,首先:关于这件事,到处都有很多问题。我花了一天的大部分时间通读了它们,显然我仍然无法理解这一点 我从一个httprequest(而不是标准的ajax调用)获取我的存储数据,这正在工作并将我的数据添加到存储中。但不管我怎么做,这些数据都不会填充列表。当前我的代码如下所示: 型号: Ext.define('estarCamera.model.Event', { extend: 'Ext.data.Model', config: { fields: [

首先:关于这件事,到处都有很多问题。我花了一天的大部分时间通读了它们,显然我仍然无法理解这一点

我从一个httprequest(而不是标准的ajax调用)获取我的存储数据,这正在工作并将我的数据添加到存储中。但不管我怎么做,这些数据都不会填充列表。当前我的代码如下所示:

型号:

Ext.define('estarCamera.model.Event', {
    extend: 'Ext.data.Model',
    config: {
        fields: [
            'Id',
            'Title',
            'Content',
            'Image',
            'Location',
            'Latitude',
            'Longitude',
            'Radius',
            'Starts',
            'Expires',
            'Prestart'
        ]
    }   
});
商店:

Ext.define('estarCamera.store.Events', {
    extend: 'Ext.data.Store',
    config: {
        model: 'estarCamera.model.Event',
        storeId: 'EventStore'       
    }
});
数据正在填充存储:

 var jsonResponse = JSON.parse(xhr.responseText);

 if(jsonResponse.status == "Success"){
//Success
var eventsJsn = JSON.parse(jsonResponse.message);
$.each(eventsJsn, function(){
    $.each(this, function(k,v){
        //Events root element
        $.each(this, function(k,v){
            //Each 'Event' element
            var eStore = Ext.getStore('EventStore');
            eStore.add({
                Id: this.ID,
                Title: decodeURIComponent(this.Title),
                Content: decodeURIComponent(this.Content),
                Image: this.Image,
                Location: this.Location,
                Latitude: this.Latitude,
                Longitude: this.Longitude,
                Radius: this.Radius,
                Starts: this.Starts,
                Expires: this.Expires,
                Prestart: this.Prestart
            });
            eStore.sync();
        })
    });
});
理想情况下,这将填充:

Ext.define('estarCamera.view.Events', {
    extend: 'Ext.Panel',
    xtype: 'events',
    requires: [
        'estarCamera.store.Events',
        'Ext.form.FieldSet',
        'Ext.List'
    ],
    config: {
        title:'Events',
        iconCls: 'star',
        layout: 'vbox',
        items:[
        {
            docked: 'top',
            xtype: 'toolbar',
            title: 'Active Events'
        },
        {
            xtype: 'container',
            layout: 'fit',
            flex: 10,
            items:[{
                xtype:'list',
                title: 'Events',
                width: '100%',
                height: '100%',
                store: 'Events',
                styleHtmlContent: true,
                itemTpl: new Ext.XTemplate(
                    '<div class="outerEvent">',
                    '<h1>title{Title}</h1>',
                    '<p>{Content}</p>',
                    '</div>'                
                )
            }]
        }]      
    }
});
Ext.define('estarCamera.view.Events'{
扩展:“Ext.Panel”,
xtype:'事件',
要求:[
'estarCamera.store.Events',
“Ext.form.FieldSet”,
“外部列表”
],
配置:{
标题:"事件",,
iconCls:'明星',
布局:“vbox”,
项目:[
{
停靠:“顶部”,
xtype:'工具栏',
标题:“活动事件”
},
{
xtype:'容器',
布局:“适合”,
弹性:10,
项目:[{
xtype:“列表”,
标题:"活动",,
宽度:“100%”,
高度:“100%”,
存储:“事件”,
styleHtmlContent:对,
itemTpl:new Ext.XTemplate(
'',
“title{title}”,
“{Content}

”, '' ) }] }] } });

有人知道为什么会这样吗?

好吧,现在觉得有点傻了。。最终(在尴尬地等待了很长一段时间后)发现这是因为我的列表试图引用“事件”,这是我商店的名称以及我认为它应该如何工作。将此更改为“EventStore”(我的商店的storeid),效果非常好。

您能看到商店中的数据吗?就像在控制台日志中一样??是的,我可以使用Ext.getStore('EventStore').getAt(0).get(“Title”)等返回存储数据。因此我知道这已经填充了存储。