Я хочу загрузить страницу HTML с существующими данными (список комментариев или виджетов или что-то еще), а затем использовать Javascript для отображения дополнительных данных в том же формате, в котором они вводятся пользователями, взаимодействующими со страницей.
- Я хотел бы использовать модель, хранящуюся в объекте JavaScript, который представляет как существующие данные на странице, так и новые данные из пользовательского ввода, а затем проследить, чтобы модель обновляла DOM при его изменении.
- Я хотел бы отображать шаблоны JS для быстрого отображения данных, введенных пользователями, без повторного подключения к серверу.
Я бы хотел избежать написания шаблонов на стороне сервера и JavaScript, которые отображаютте же данные.
Чтобы решить первую проблему построения исходной модели, кажется, что параметры в порядке предпочтения:
- Используйте JavaScript для извлечения данных, отображаемых в HTML, всоздайте исходную модель, или
- визуализируйте JSON непосредственно в DOM и создайте из него объект JS, или
- нажмите сервер сновапосле загрузки страницы в виде AJAX-вызова для получения данных в формате JSON
Чтобы избежать шаблонов на стороне сервера и на стороне клиента для отображения одного и того же:
- Используйте что-то вроде Pure для создания шаблонов из DOM или
- Используйте только шаблоны JS и используйте один из вторых параметров выше для первоначальной визуализации страницы (заполняйте их из JSON, отрисованного вDOM или вызовите ajax, чтобы заставить JSON заполнить их).
- Используйте систему шаблонов, которая работает как на сервере, так и на клиенте.
Мне кажется, что ни одно из этих решений не является особенно элегантным, и мне любопытно, о каких других шаблонах я мог даже не подумать или есть ли общее решение.
Моя среда - Rails 3, но проблемы применимы к любому серверу -> настройка HTML / JS.Я вижу, как это может быть проще с чем-то вроде Node.js, но я в основном заинтересован в решениях, которые применимы к Rails.