1

arrayVals には、ロードされたときにストアから取得したデータがあります。今度は、メニュー項目の arrayVals からそのデータを入力したいと思います...ロードメソッドの外で me.items.push を呼び出すと、ダミーデータで正常に動作しますが、ロード メソッドで呼び出します。つまり、オブジェクト [オブジェクト オブジェクト] にメソッド 'プッシュ' がありません。

items = [];
var arrayVals = [];
me.getUserCompanyLogStore().load({
  callback: function (records, operation, success) {
    success: {
      Ext.Array.each(records, function (record, index, array) {
        arrayVals.push(record.get("company"));
      });
      Ext.Array.each(arrayVals, function (record, index, array) {
        console.log(arrayVals)
        me.items.push({ // Object [object Object] has no method 'push'
          xtype: 'main-header-nav-FavoriteItem',
          text: record
        });
      });
    }
  }
});
4

2 に答える 2

3

完全な情報を提供していませんが、これは最も可能性の高いシナリオです。

コンテナがすでにそれらを処理しているため、ストアが読み込まれるまでに、itemsは構成オプションの配列ではなくなります。me.add()代わりに、アイテムが MixedCollection になり、構成処理段階が完了したため、を呼び出す必要があります。

于 2013-09-16T11:00:58.630 に答える