Задать вопрос
ITicDigger
@ITicDigger

Как передать переменную в JS-модуль со страницы?

Есть index.php которая в случае передачи ей через POST переменной var должна подключить скрипт s.js как модуль, то есть:
<script type = "module" src = "./s.js"></script>
и этот скрипт должен знать, какая переменная var была передана.

Я конечно понимаю, что можно эту переменную записать в data какого нибудь элемента после загрузки DOM, и прочитать её от туда, либо присвоить глобальному объекту. Но нет ли каких нибудь более правильных и непосредственных способов?

Сперва мысль повела меня сделать в index.php вот так:
<script type = "module">
export let var = '.$_POST['var'].';
</script>

Но вот когда находясь уже в модуле я задумался, а какой файл указывать в src при import - тут меня настигло недоумение, ведь модуль был встроенным...
export из встроенных модулей вообще имеет смысл в каких либо условиях?

К внешним модулям тоже есть симметричные вопросы. Они какая-то блин "вещь в себе". Так или иначе они ведь подключаются для нужд страницы, нужд index.php и объектов на ней. Но вот сделать вот так:
<input onClick="some_handler_from_module();"> я не могу, если some_handler_from_module находится реально в модуле ведь непонятно как импортировать эту функцию в index.php, так чтобы она стала видна.
Приходится все обработчики назначать внутри модуля, хотя иногда чертовски было бы удобно сделать это именно в index.php, когда например там идёт генерация кучи кнопок удаления для каждой строчки таблицы обработчик каждой кнопки генерируется как del(' + id +'); - ничего не получится если del() в модуле.
  • Вопрос задан
  • 200 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы