Имеет ли право на жизнь json в data- атрибуте?

Хотелось бы услышать мнение сообщества.

Если коротко: что вы думаете о хранении в data-атрибутах json'a?

Если подробнее, то ниже описываю как я до этого дошёл:

Делаю сайт-портфолио.
Плитка миниатюр-фотографий (фотосессии), по наведению - название и имя фотографа.
По нажатию - модалка с фоторамой из фотографий, название, имя фотографа, описание, список тегов.

Миниатюра берется из первой фотографии массива (ACF Gallery field), часть информации дублируется...
И в общем подумал, что при открытии модалки дергать базу ajax-запросом смысла нет (а учитывая что можно страницы портфолио кэшировать - совсем нет).

Ну и сделал так:
7b13bc9fe24948acacff46fb9a34b16f.PNG

Вся информация, нужная мне для открытия модалки, преобразованная в json, лежит в data-атрибуте. Клик - и вот уже отрендеренная модалка.

Понимаю, что можно всё это в переменную запихть, к которой будет js обращаться при открытии модалки, но появляются сложности с постраничной навигацией, вместо которой подгрузка через ajax.
  • Вопрос задан
  • 2834 просмотра
Решения вопроса 2
mlnkv
@mlnkv
JavaScript Developer
Думаю, это не так плохо, когда информации немного, но когда как у вас - надо придумать что то другое.
Попробуйте создать в js объект со всеми данными а в тег записывать только id и потом искать в объекте по id.
Ответ написан
Комментировать
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Давным-давно в яндексе применялся такой подход: onlick="return {some: 'useful', data: 'in POJO'}"(обратите внимание, никакая функция не вызывается)ю Обработчик кликов, если нужен был, навешивался через el.addEventListener, а данные получались с помощью el.onclick(). Из минусов: неподготовленному человеку сносит крышу, выглядит несемантично. Из плюсов: unobtrusive js (хотя на первый взгляд кажется, что нет), простота получения данных, нет лишней экранизации, которая нужна в JSON.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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