sencha touch2でリストを動的にロードする
-
27-10-2019 - |
質問
カードレイアウトでセットアップされたSenchaTouch2.0アプリがあります。これには、ユーザーがクリックできるアイコンと顧客リスト(xtype: 'list')を含むダッシュボードが含まれています。アプリが読み込まれると、顧客リストを含むアプリ内のすべての「カード」が読み込まれますが、localStorage変数が設定されていない限り、データは(プロキシ経由で)読み込まれません。すべてが読み込まれた後、localStorage変数をチェックして、ユーザーが自動的にログインする必要があるかどうかを確認します。それらが自動的にログインする場合、私のアプリは完全に機能します。そうでない場合は、基本的にログインフォームである「ログイン」カードを提示します。彼らがこのログインフォームを送信したら、私はajax呼び出しを実行します。これが正しく戻ってきたら、「ダッシュボード」カードに送ります。しかしその前に、私は次を使用してajax呼び出しを介して顧客リストをロードしようとしています: ジェネラコディセタグプレ
上記のコードを使用すると、プロキシ呼び出しが行われていることがわかり、応答が正しいことがわかります。ただし、ダッシュボードが表示され、[顧客]アイコンをクリックすると、空のリストが表示されます。私のツールバーはそこにあり、私のリストのindexBarでさえそこにあり、データはありません。ここで何が間違っているのかわかりません。以下にリストビュー、ストア、モデルを含めます。これを見る人に役立つことを願っています: ジェネラコディセタグプレ
また、storeIdをCustomer Listストアに入れて、Ext.create()を呼び出す代わりに次のコードを使用しようとしました: ジェネラコディセタグプレ
これでも同じ結果が得られました。プロキシがデータを正しくフェッチしていることがわかりましたが、それでもリストコンポーネントでレンダリングされていました。
解決
わかりました。次の行を削除しました: ジェネラコディセタグプレ
その代わりに以下を追加しました: ジェネラコディセタグプレ
基本的に、ストアの新しいインスタンスを作成する必要はありませんでした。インスタンスはすでに作成されているため、それを識別してロードする方法(Ext.getStore)が必要でした。調べてくれたすべての人に感謝します。
他のヒント
私はSenchaTouch 2のエキスパートではありませんが、リストストアを次のように設定しているようです ジェネラコディセタグプレ
そして私はCustomerList
が何であるか疑問に思っています。リストのストアを、ストアのIDであるcustomerListStore
に設定する必要はありませんか?