具体示例是“首选项”窗口,其中包含一系列选项卡,每个选项卡都包含一系列表单域。这些选项卡或表单字段都不会在窗口外重用,并且窗口本身只会有一个实例。使用单个项目配置意味着它长达数百行,这使得难以维护。
My.Ns.PreferencesWindow = Ext.extend(Ext.Window, {
items: [
// A tab
{
items: [
// Form fields
{},
{},
{},
]
},
// A tab
{
items: [
// Form fields
{},
{},
{},
]
},
...
]
});
答案 0 :(得分:2)
只需使用变量使其更具可读性:
var tabOneCfg = {
items: [
// etc.
]
};
var tabTwoCfg = {
items: [
// etc.
]
};
My.Ns.PreferencesWindow = Ext.extend(Ext.Window, {
items: [
tabOneCfg,
tabTwoCfg
]
});
您可以根据需要将其设置为粒度,甚至可以将子配置包含在单独的文件中(尽管这种类型的方案在Ext 4下的动态加载时效果不佳)。根据配置的性质,发电机或工厂功能也可以有意义。原则上它也是一样的 - 只需将子配置分成更小的块并根据需要使用它们。