0

だから店を持ってる

Ext.define('APN.store.BackupShow', {
  拡張: 'Ext.data.Store',
  必要: [
    「APN.model.ScheduledShow」
  ]、
  構成: {
    モデル: 'APN.model.ScheduledShow',   
    プロキシー: {
      タイプ: 'ajax',
      URL: '',
      読者: {
        タイプ: 'xml',
        レコード: 'アイテム',
        rootProperty: 'xml'
      }
    }
  }、
  getShow: 関数 () {
    if (this.getData().length greater 1) # なんらかの理由で、stackoverflowでここにグレーター記号を入れることができませんでした。
      null を返します。

    // 間違ったフィールドがポップされたので、フィールド データをコピーします。
    this.getAt(0).set("listimage", this.getAt(0).get("onairimage"));
    this.getAt(0).set("isbackup", "true");      
    this.getAt(0) を返します。   
  }
});

そして、ストアの最初の要素を呼び出そうとすると、取得しますundefinedが、要素はストアに存在します:

(0) console.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: クラス
 _model: 関数 () {
 _modelDefaults: objectClass
 _proxy: クラス
 _remoteFilter: false
 _remoteSort: false
 _storeId: "backupShow"
 _totalCount: null
 構成: objectClass
 データ: クラス
 _autoFilter: 真
 _autoSort: 真
 _filterRoot:「データ」
 _sortRoot:「データ」
 すべて: 配列[1]
  0: クラス
   _data: オブジェクト
   データ: オブジェクト
    bufferingProgress: null
    コンテンツリンク: null
    説明: ヌル
    facebooklink: "http://www.facebook.com/mixmelbourne"
    id: "ext-record-45"
    isbackup: null
    リストイメージ: null
    onairimage: "http://arntrnassets.mediaspanonline.com/radio/mxm/53808/on-air-default_v3.png"
    showbody: 「2K から今日まで、メルボルンで最もバラエティに富んだ番組。Mix101.1 と Chrissie & Jane が平日の午前 6 時からメルボルンを目覚めさせます。」
    showbyline: "2K から現在までの幅広いバリエーション"
    showcontentxml: null
    showemail: null
    showname: "ミックス 101.1"
    ショースケジュール: null
    小さい画像: null
    タイトル: ヌル
    ツイッター名:「ミックスメルボルン」
    __proto__: オブジェクト
    id: "ext-record-45"
    internalId: "ext-record-45"
    変更: オブジェクト
    ファントム:真
    生: アイテム
    店: 配列[1]
    __proto__: テンプレートクラス
    長さ: 1
    __proto__: 配列[0]

(2)

_autoFilter: 真
_autoSort: 真
_filterRoot:「データ」
_sortRoot:「データ」
すべて: 配列[1]
構成: objectClass
ダーティインデックス: 真
getKey: 関数 (レコード) {
インデックス:オブジェクト
initConfig: 関数 (){}
initialConfig: オブジェクト
アイテム: 配列[1]
キー: 配列[1]
長さ: 1
マップ: オブジェクト
__proto__: テンプレートクラス

(3)

配列[1]
  0: クラス
  長さ: 1
  __proto__: 配列[0]

(4)

0

(5)

キャッチされていない TypeError: オブジェクト [オブジェクト配列] にメソッド 'getAt' がありません

配列にはgetAtメソッドがないため、(5)は理解できますが、ストアにはアイテムがなく、getData要素の配列が0に等しい(4)で示されます...

この時点で、Sencha Touch Framework と、要素の配列の最初の要素を取得する方法について非常に混乱しています。

4

1 に答える 1

1

Ext.data.Store.first() メソッドを使用しないのはなぜですか。

API によって提供されるメソッドを使用するとき、私は通常、より幸せな開発者であることがわかりました。まれに、提供されていないものが必要な場合は、自分で Sencha オブジェクトをナビゲートしますが、実際にはそうしないようにしています。

その解決策が機能しない可能性があるかどうか、またその理由を教えてください。別の解決策を見つけようとします。

于 2013-07-22T13:51:35.237 に答える