2

我在 EXTJS 4.1 MVC 架构中工作。我对此完全陌生,我在想是否有办法在商店文件中拥有多个商店。

例如,我们有两个目录,model 和 store,每个目录都有文件。我在 store 文件夹中有一个名为 Locations.js 的文件。我想在这个文件中定义三个商店。例如:“地区”、“地区”、“城市”

所以,首先当我尝试定义第一个商店时,萤火虫显示错误找不到 store/regions.js 文件。而它应该查找的文件实际上是 Locations.js 文件。有没有办法解决这个问题,或者是存储名称和文件名应该相同,并且我们只能存储在一个文件中。

4

2 回答 2

3

Loader 只知道如何在自己的文件中查找类。您可以通过手动加载文件来做到这一点,但这比它的价值更麻烦,而且您将失去 Ext 构建依赖关系树和使用 SDK 工具缩小的能力。

每个文件坚持一堂课。不过,您可以随心所欲地深入,因此您的文件系统可以具有以下内容:

App/store/location/Region.js
App/store/location/Area.js
App/store/location/City.js

只要确保你的类有相应的名称。(例如App.store.location.Region)然后您甚至可以拥有App.store.location.Location所有其他人扩展的基础。如果这是一个大项目,我还发现从一开始就将 Ext.data.Store 子类化(make App.store.Store)很有用,并确保您的所有商店都扩展它。

于 2012-07-12T12:13:51.753 回答
2

这是由Ext.loader. 它提供了一个动态加载“类”的系统。所以是的,当你有一个对象时MyApp.store.Regions,它应该在 store 文件夹内的文件中。

但这应该不是什么大问题。您可以使用 sencha 构建工具在 1 个文件中缩小。

您还可以禁用加载程序并手动进行加载。(但我不建议这样做)

于 2012-07-12T12:15:32.807 回答