Sencha MVC の例をガイドとして使用して、次のデータストアを作成しました。
Ext.define('CART.store.CartStore', {
extend: 'Ext.data.Store',
model: 'CART.model.CartModel',
autoLoad: true,
storeId: 'thecart',
proxy: {
type: 'ajax',
api: {
read: 'app/testdata/items.json'
},
reader: {
type: 'json',
root: 'Items',
successProperty: 'success'
}
}
});
次のフラグメントが示すように、データストアを参照するグリッド パネルが定義されています。
Ext.define('CART.view.CartContents',{
拡張: 'Ext.grid.Panel',
エイリアス: 'widget.CartList',
title: 'ショッピングカートの中身',
ストア: 'thecart',
...他のもの...
});
CartContents の「store」属性なしでアプリを実行すると、グリッドは問題なく表示されます。残念ながら、「store」がデータストアの ID に設定されているため、Firebug でアプリを実行すると、次のエラーが表示されます。
タイムスタンプ: 2013 年 1 月 16 日 21:19:08
エラー: TypeError: me.store が定義されていません
ソースファイル: <my-url-to>/ext-all-debug.js
ライン: 94926
この投稿アプリでは、正確な URL でこれを投稿できないため、 <my-url-to> を入力する必要があったことに注意してください。
明らかに、アプリは CartStore を見つけていません。ドキュメントと例の情報によると、そうすべきであるという事実にもかかわらずです。
私が何か欠けているかどうか誰かに教えてもらえますか?グリッドでデータストアを見つけるにはどうすればよいですか?
誰かアドバイスください。
2013 年 1 月 17 日更新: 以下の 2 つの回答に記載されているアドバイスを受けました (迅速な回答に感謝します)。新しいビュー オブジェクト フラグメントを以下に示します。
Ext.define('CART.view.CartContents',{
拡張: 'Ext.grid.Panel',
エイリアス: 'widget.CartList',
必要: ['CART.store.CartStore'],
title: 'ショッピングカートの中身',
ストア: 'カートストア',
...他のもの...
});
残念ながら、私はまだ同じエラーが発生しています。ブラウザが更新されたページを取得していない場合に備えて、キャッシュをフラッシュしてみました。これも効果はありませんでした。me.store はまだ未定義のようです。