具体的な例は、一連のタブがあり、各タブに一連のフォームフィールドが含まれている「設定」ウィンドウです。これらのタブやフォームフィールドはいずれもウィンドウの外で再利用されることはなく、ウィンドウ自体のインスタンスは1つだけです。単一アイテム構成を使用すると、数百行の長さになり、保守が困難になります。
My.Ns.PreferencesWindow = Ext.extend(Ext.Window, {
items: [
// A tab
{
items: [
// Form fields
{},
{},
{},
]
},
// A tab
{
items: [
// Form fields
{},
{},
{},
]
},
...
]
});
- 大規模なExtJSアプリケーションを編成する方法を尋ねているのではありません。ExtJSプロジェクトを整理するための最良の方法とこのトピックに関するSakiのブログ投稿を読みました。
- 各アイテムのExt.extendは、複数回インスタンス化されることはないため、実際には意味がありません。
- アイテムのjsonを返すだけの「ジェネレーター」関数にさまざまなコンポーネントをカプセル化することは、一見合理的なアプローチのように思われます。