0

所以我有一个商店

Ext.define('APN.store.BackupShow', {
  扩展:'Ext.data.Store',
  要求:[
    'APN.model.ScheduledShow'
  ],
  配置:{
    型号:'APN.model.ScheduledShow',   
    代理人: {
      类型:'ajax',
      网址:'',
      读者:{
        类型:'xml',
        记录:'项目',
        根属性:'xml'
      }
    }
  },
  getShow:函数(){
    if (this.getData().length greater 1) # 由于某种原因,stackoverflow不允许我在这里输入更大的符号;
      返回空值;

    // 在弹出错误字段时复制字段数据。
    this.getAt(0).set("listimage", this.getAt(0).get("onairimage"));
    this.getAt(0).set("isbackup", "true");      
    返回 this.getAt(0);   
  }
});

当我试图调用我得到的商店的第一个元素时undefined,但是该元素存在于商店中:

(0) 控制台.log(backupShowStore);
 (1) console.log(backupShowStore.data);
 (2) console.log(backupShowStore.getData().all);
 (3) console.log(backupShowStore.getData().all.length);
 (4) console.log(backupShowStore.getData().all.getAt(0));

我回来了:

(1)

班级
 _data:类
 _模型:函数(){
 _modelDefaults:对象类
 _proxy:类
 _remoteFilter: 假
 _remoteSort:假
 _storeId: "backupShow"
 _totalCount:空
 配置:对象类
 数据:类
 _autoFilter: 真
 _autoSort:真
 _filterRoot:“数据”
 _sortRoot:“数据”
 全部:数组[1]
  0:类
   _data:对象
   数据:对象
    缓冲进度:空
    内容链接:空
    描述:空
    facebook链接:“http://www.facebook.com/mixmelbourne”
    id:“ext-record-45”
    备份:空
    列表图像:空
    onairimage:“http://arntrnassets.mediaspanonline.com/radio/mxm/53808/on-air-default_v3.png”
    showbody:“墨尔本从 2K 到今天的最广泛的品种,Mix101.1 与 Chrissie 和 Jane 在墨尔本工作日从早上 6 点起床。”
    showbyline:“从 2K 到今天的最广泛的品种”
    显示内容xml:空
    显示电子邮件:空
    节目名称:“混合 101.1”
    节目安排:空
    小图像:空
    标题:空
    推特名称:“mixmelbourne”
    __proto__: 对象
    id:“ext-record-45”
    internalId:“ext-record-45”
    修改:对象
    幻影:真实
    原始:项目
    商店:数组[1]
    __proto__: 模板类
    长度:1
    __proto__: 数组[0]

(2)

_autoFilter: 真
_autoSort:真
_filterRoot:“数据”
_sortRoot:“数据”
全部:数组[1]
配置:对象类
脏指数:真
getKey:函数(记录){
指数:对象
初始化配置:函数(){}
初始配置:对象
项目:数组[1]
键:数组[1]
长度:1
地图:对象
__proto__: 模板类

(3)

数组[1]
  0:类
  长度:1
  __proto__: 数组[0]

(4)

0

(5)

未捕获的类型错误:对象 [对象数组] 没有方法“getAt”

这对于 (5) 是可以理解的,因为数组没有方法 getAt,但是存储没有任何项目,并且由 (4) 指示,其中 getData 元素的数组等于 0...

目前我对 Sencha Touch Framework 以及如何获取元素数组的第一个元素感到非常困惑

4

1 回答 1

1

为什么不直接使用Ext.data.Store.first() 方法

我发现当我使用 api 提供的方法时,我通常是一个更快乐的开发人员。在极少数情况下,我需要一些未提供的东西,我会自己导航 Sencha 对象,但我真的尽量不这样做。

让我知道该解决方案是否以及为什么不起作用,我会尝试为您找到其他解决方案。

于 2013-07-22T13:51:35.237 回答