Может ли плагин принимать несколько параметров
Например, есть плагин, который принимает только параметры.
$.fn.createTablePlugin = function (methods, prop) { var options = $.extend({ selectorForCreateElemInto: 'body', classTableName: nameTable, classTableHeadName: nameTableHead, classTableBodyName: nameTableBody, messageForPluginDataTables: messageRuForPluginDataTables, arrTh: [], /*['id', 'имя', 'возраст', 'login']*/ arrDataAttrName: [], /*[ {'data-dataType': 'dateType'}, {data-dataType': 'nameType','data-maxLength': '7',}]*/ styleForTable: styleAttributesForTable, styleForTh: styleAttributesForTh, styleForTd: styleAttributesForTd, url: '', /*адрес, для запроса данных от сервера*/ selectorErrMessageFromServer: '' /*селектор, указывающий на вывод сообщений об ошбике*/ }, prop); } Там очень много работы сделано. Теперь нужно создать массив методов, которые могут подключать дополнительные сторонние плагины. Например, у меня плагин создает таблицу от начала до конца, он же отправляет ajax-запрос на сервер, получает данные, разбирает их , создается таблица с этими данными. И еще я здесь же подключил плагин DataTables, с многочисленными настройками. Хочется чтобы плагин стал более универсальным. Иногда его достаточно, с его стилями создать таблицу и нет нужды подключать DataTables, поэтому с помощью методов и скрипта хотел бы настроить возможность, где будет вызываться мой плагин, При этом сделать так, чтобы можно было указывать если нужно метод, который будет подключать с нужными настройками мой плагин, если же метод не указан тогда должна выполняться настройка и создание таблицы по умолчанию со своими стилями. А как это принимать в плагине , как разбирать такие параметры ? https://thimbleprojects.org/alex-r/638619 |
Мне кажется вы куда-то не туда двигаетесь с плагинами jQ.
Не все в js - плагины jQuery. Что вам нужно так и не понял. Сложно читать сложносочиненное предложение содержащее под 50 слов и не потерять мысль. |
Цитата:
Вместо того, чтобы расширять существующий jQuery, вы можете создать класс, описывающий «jquery» таблиц. И в нём описать все методы необходимые для работы с «jquery» таблиц. class TableExtension extends jQuery { constructor(options) { super("table"); this.__proto__ = TableExtension.prototype; this.options = this.extend(this.constructor.defaultOptions, options); } static get defaultOptions() { return { }; } } |
Часовой пояс GMT +3, время: 13:19. |