0

Sencha Touch 2 Store クラスで奇妙な問題が発生しています。ここに私が持っているものがあります:

  • リスト ビューを定義する単純なビューPollsList ( store 属性がPollsに設定されている)。次のように必要なストアを含めました: requires:['Polls'],
  • モデル属性がPollに設定され、ダミーのデータ属性が設定されたストア クラスPolls 、
  • Pollという名前のモデル クラス(可能な限り単純なもの)、
  • 次の起動メソッドを含む app.js ファイル:

var pollsListView = Ext.create('PollsList');

Ext.Viewport.add(pollsListView);

Ext.Viewport.setActiveItem(pollsListView);

stores: ['Polls']必要に応じて app.js にも宣言を含めました。

さて、奇妙なことに、PollsListビューにアクセスすると、次のエラーが発生するまで、 Pollストアが無期限に読み込まれます。

Uncaught RangeError: Maximum call stack size exceeded sencha-touch.js:598

そして、スタックは次の呼び出しでループしているようです:

Ext.ClassManager.instantiate sencha-touch.js:6378

(anonymous function) sencha-touch.js:3198

(anonymous function) app/store/Polls.js:4

Ext.apply.globalEval sencha-touch.js:598

Ext.apply.globalEval sencha-touch.js:599

Ext.apply.loadScriptFile sencha-touch.js:7673

Ext.apply.require sencha-touch.js:7831

Ext.apply.syncRequire sencha-touch.js:7695

(anonymous function)

何か案が?

4

1 に答える 1

0

奇妙に思えますが、何度も行われましたが、うまくいきませんでした。

ビューが 1 つしかないため、 setActiveItemを削除してみてください。ビューはアクティブと見なされます。

コードからrequire行を削除しますが、現在は必要ないようです (このサンプルを実行したいからです)。

次に、ストアを初期化してみてください。

var store = Ext.create("YourStore")   // 
var listControl = Ext.craeate("YourList" ,{store : "aboveCreatedStore" , ..... });
listControl.setData( {name :'hello'} ); // hoping the model is having one String type field
Ext.ViewPort.add(listControl);

それでおしまい...

上記のコードは完全な解決策 (パッチのようなもの) ではありませんが、現在のコードで何が間違っているかを知らせるためのものです。

于 2012-06-18T13:13:41.700 に答える