повторно использовать коды JavaScript (уменьшите дубликаты кодов) - PullRequest
0 голосов
/ 10 октября 2010

Когда я делаю некоторые компоненты на своей веб-странице, я обнаружил там очень много повторяющихся кодов, например, на своей странице я хочу создать две диаграммы.

Самым большим отличием является хранилище данных.и заголовок, однако они имеют много одинаковых атрибутов.

Я делаю это, определяя новый экземпляр Ext.chart:

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

var chart2=new Ext.chart.LineChart{config2};

В config1 и config2 столько же содержимогоЕсть ли идеи, чтобы избежать этого?

Кстати, я думал, что механизм расширения в ext, однако я не могу получить более подробную информацию о том, как использовать его только из API ext3.2.

1 Ответ

1 голос
/ 10 октября 2010

Вы можете расширить конфигурацию

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({ ... });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...