У меня есть инструмент, который позволяет пользователю создавать панель инструментов и добавлять к ней виджеты. Каждый виджет - это собственный JS-файл, который загружается на страницу.область jQuery с несколькими функциями
Чтобы сохранить все то же самое по всей доске, я создаю функцию под названием load
, которая запускается, когда документ готов.
Проблема состоит в том, что каждый из всех включенных в комплект модулей имеет ту же функцию, что и функция load, которая вызывает проблемы.
Хотя я могу изменить имя функции на что-то уникальное, я хотел бы посмотреть, возможно ли сохранить их все равно, где они заблокированы до объема файла, в котором они находятся?
/*
Module Details: Department Links - A collection of links specific to the users department or selected department
*/
$(function() {
// Define our moduleID
var moduleID = 1;
// Load our module
load(moduleID, '', false);
// Create a event for dropdown change
$('body').on('select2-selecting', '#Department_' + moduleID, function (e) {
// When the user picks a department, reload this module and fetch those department links.
load(moduleID, e.val, true);
});
});
/*
Load the module
@moduleID: required.
@departmentID: if not passed, the SP will use the viewers departmentID.
@reload: passed when changing the dropdown so we only render the new data and not the whole module
*/
function load(moduleID, departmentID, reload){
... Do other stuff here
}
Я думаю, мой вопрос .. С множеством функций, вызываемых load
в различных JS файлов, включенных, как я могу вызвать один конкретный в отдельный файл?
Можете ли вы объяснить немного больше? Может включать содержимое файла образца и фрагмент кода выше взаимодействия с тем же – binariedMe
Два слова: загрузчик модуля. (Например, Rollup, Browserify, RequireJS, Webpack и т. Д.) – gcampbell
@binariedMe - каждый модуль (js include) структурирован таким же образом. При готовности он запускает функцию загрузки, которая что-то делает для DOM. Представьте, что 5 js включает все с тем же именем функции, что и 'load'. Как правило, это не должно быть проблемой, поскольку я думаю, что все они находятся в пределах их собственного объема файла, но я не считаю, что мой настроен как таковой. Он вызывает нагрузку и запускает ее в других файлах, которые также содержат эту функцию, а не только ее собственную. – SBB