Я создаю приложение, в котором большая часть HTML создается с использованием JavaScript. Структура DOM создается с использованием некоторых структур данных JSON, которые отправляются с сервера, а затем код на стороне клиента создает пользовательский интерфейс для этих данных.
Мой текущий подход состоит в том, чтобы пройтись по структурам данных JSON и вызвать метод script.aculo.us Builder.node для построения структуры DOM, а затем добавить его к некоторому элементу, который фактически находится в HTML, отправленном с сервера. По пути я регистрирую слушателей событий для различных элементов, которые в них нуждаются. Это обеспечивает большую гибкость и очень динамичный интерфейс.
Однако я чувствую, что это не очень устойчиво, поскольку логика представления (т. Е. Структура DOM) так тесно связана с кодом, который обходит данные, и обработчики событий, и данные, которые хранятся в памяти. поддерживать состояние и может передавать эти изменения обратно на сервер.
Существуют ли какие-либо шаблонные решения, которые позволят мне отделить структуру DOM от кода, который управляет приложением? В настоящее время моими единственными библиотечными зависимостями являются prototype.js и script.aculo.us, поэтому я не хотел бы вводить какие-либо большие библиотеки, но любые предложения приветствуются.
Спасибо!
РЕДАКТИРОВАТЬ: По какой-то причине Какой хороший язык шаблонов поддерживается в Javascript? не появилось в небольших результатах поиска, когда я набирал этот вопрос. Однако он отображается на боковой панели «Связанные».
Я прочитаю некоторые из предложений, и если я найду решение, я закрою этот вопрос. В противном случае я уточню этот вопрос с причинами, по которым эти решения не будут работать для меня.