Можно ли применить один и тот же плагин jQuery
к нескольким элементам на одной странице? Или для обмена данными и событиями между различными экземплярами плагина?
Я создал плагин jQuery
, который загружает данные сервера в фоновом режиме для отображения диаграммы Highcarts
.
// HTML Code
...
<div id="content">
<div id="chart1" class="chart" data-src="/url1"...>...</div>
<div id="chart2" class="chart" data-src="/url2"...>...</div>
</diV>
<script>
;(function($) {
...
// Create the Chart-Plugin for every chart element...
$(".chart").myChart();
})(jQuery);
</script>
// The Plugin:
;
(function($, window, document, undefined) {
// Config the Highchart, load data from the data-src url, etc.
})(jQuery, window, document);
Это прекрасно работает, и нет проблем обрабатывать разные графики на одной странице. Каждый график имеет свой собственный плагин и обрабатывается независимо.
НО: Что если chart1
и chart2
должны показывать / использовать одни и те же данные?
Например, на адаптивной веб-странице разные версии одного и того же элемента диаграммы могут быть размещены в разных положениях, в разных стилях и т. Д. Одна версия, которая видна при просмотре на большом экране, одна версия, которая будет видна на мобильном телефоне. устройства и т. д.
Конечно, приведенный выше код также будет работать нормально в этом сценарии, но нет необходимости загружать данные с сервера дважды. Это снизит нагрузку на серверы, если данные будут загружены один раз и затем будут применены ко всем версиям / копиям диаграммы.
Есть ли правильный / рекомендуемый способ решить эту проблему?
Являются ли плагины все еще хорошим / возможным решением в таких случаях, или есть лучшие шаблоны для решения этой проблемы?