Extjs 重用javascript代码(减少重复代码)

Extjs 重用javascript代码(减少重复代码),extjs,code-reuse,extend,Extjs,Code Reuse,Extend,当我在我的网页中制作一些组件时,我发现有太多重复的代码,例如,在我的网页中,我想制作两个图表 它们最大的区别是数据存储和标题,但是它们有许多相同的属性 为此,我定义了Ext.chart的一个新实例: var chart1=new Ext.chart.LineChart{config1}; var chart2=new Ext.chart.LineChart{config2}; config1和config2中有这么多相同的内容,有什么办法可以避免这种情况吗 顺便说一句,我已经想到了ext中的

当我在我的网页中制作一些组件时,我发现有太多重复的代码,例如,在我的网页中,我想制作两个图表

它们最大的区别是数据存储和标题,但是它们有许多相同的属性

为此,我定义了Ext.chart的一个新实例:

var chart1=new Ext.chart.LineChart{config1};

var chart2=new Ext.chart.LineChart{config2};
config1和config2中有这么多相同的内容,有什么办法可以避免这种情况吗

顺便说一句,我已经想到了ext中的扩展机制,但是我无法从ext3.2api获得更多关于如何使用它的细节。

您可以扩展配置

var config = {
    // do you shared config here
}

// and apply any different/extending configs here
var config1 = Ext.apply(config, { title: "Title of config 1" }
var config2 = Ext.apply(config, { title: "Title of config 2" }

var chart1 = new Ext.chart.LineChart(config1);
var chart2 = new Ext.chart.LineChart(config2);
如果您希望它更短:

var chart1 = new Ext.chart.LineChart(Ext.apply(config, {
    title: "Title of config 1"
});
var chart2 = new Ext.chart.LineChart(Ext.apply(config, {
    title: "Title of config 2"
});
使用Ext.extend编辑:

Ext.chart.LineChart = Ext.extend(Ext.chart.LineChart, {
    // put your shared config in here
});

var chart1 = new Ext.chart.LineChart({
    title: "Title of chart 1", 
    store: new Ext.data.Store({ ... });
});
var chart2 = new Ext.chart.LineChart({
    title: "Title of chart 2", 
    store: new Ext.data.Store({ ... });
});

谢谢,这是一种很好的态度。我还想知道这是否可以通过扩展机制实现?是的,你可以。您已经可以将所有默认配置放在折线图中,然后只覆盖更改的配置