使用 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: '购物车内容',
商店:“购物车”,
...其他的东西...
});
当我在没有 CartContents 的“商店”属性的情况下运行我的应用程序时,网格播放没有问题。不幸的是,将“store”设置为数据存储区的 ID,当我在 Firebug 中运行应用程序时,我看到以下失败:
时间戳:2013 年 1 月 16 日晚上 9:19:08
错误:TypeError:me.store 未定义
源文件:<my-url-to>/ext-all-debug.js
线路:94926
注意我必须输入 <my-url-to> 因为这个发布应用程序不允许我使用确切的 URL 发布这个。
显然,该应用程序没有找到 CartStore,尽管根据文档和示例中的信息,它应该找到。
有人能告诉我我是否遗漏了什么吗?如何让我的 Grid 找到数据存储?
有人请指教。
2013 年 1 月 17 日更新:我接受了以下两个答案中提供的建议(感谢您的快速回复)。新的视图对象片段如下所示:
Ext.define('CART.view.CartContents',{
扩展:'Ext.grid.Panel',
别名:'widget.CartList',
需要:['CART.store.CartStore'],
title: '购物车内容',
商店:'CartStore',
...其他的东西...
});
不幸的是,我仍然遇到同样的错误。我确实尝试过刷新缓存,以防浏览器没有获取更新的页面。这也没有任何效果。me.store 仍然显示为未定义。