2

EXTJS4.1MVCアーキテクチャで作業しています。これはまったく新しいことで、ストアファイルに複数のストアを含める方法があるかどうかを考えていました。

たとえば、modelとstoreの2つのディレクトリがあり、それぞれにファイルがあります。ストアフォルダ内にLocations.jsという名前のファイルがあります。Adnこのファイル内に3つのストアを定義したいと思います。例:「地域」、「地域」、「都市」

したがって、最初に最初のストアを定義しようとすると、firebugはstore/regions.jsファイルが見つからないというエラーを示します。探す必要のあるファイルは実際にはLocations.jsファイルです。これを解決する方法はありますか、それともストア名とファイル名を同じにする必要があり、ファイルにしか保存できないということですか。

4

2 に答える 2

3

ローダーは、独自のファイルでクラスを見つける方法しか知りません。ファイルを手動でロードすることでそれを行うこともできますが、それは価値があるよりも面倒であり、依存関係ツリーを構築して SDK ツールで縮小する Ext の機能を失うことになります。

ファイルごとに 1 つのクラスに固執します。ただし、必要なだけ深くすることができるため、ファイルシステムには次のものが含まれる可能性があります。

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 に答える