Любые предложения о том, какая библиотека шаблонов HTML будет хорошо сочетаться с JQuery? Поиск в Google выдает довольно много библиотек, но я не уверен, есть ли общепризнанная библиотека, которая выдержала бы испытание временем.
Рекомендуемая библиотека шаблонов JavaScript HTML для JQuery?
Ответы (7)
Ну, если быть откровенным, шаблоны на стороне клиента сейчас очень популярны, но это довольно джунгли.
самые популярные, я считаю:
- pure: использует только js, а не собственный "синтаксис"
- mustache: довольно стабильно и приятно, как я слышал.
- jqote2: очень быстро согласно jsperfs
- шаблоны jquery (устаревшие):
есть множество других, но вы должны протестировать их, чтобы увидеть, что лучше всего подходит вам и стилю вашего проекта.
Лично у меня возникли трудности с добавлением нового синтаксиса и набора логики (смешивание логики и шаблона, привет??), и я пошел на чистом js. Каждый из моих шаблонов хранится в собственном html-файле (./usersTable.row.html). Я использую шаблоны только при ajax-контенте, и у меня есть несколько "логических" js-файлов, один для таблиц, один для div, один для списков. и даже не для вариантов выбора (где я использую другой метод).
Каждый раз, когда я пытался сделать что-то более сложное, я обнаруживал, что код менее понятен и требует больше времени для стабилизации, чем «старый» способ. Логика в шаблоне, на мой взгляд, полная ерунда, а добавление собственного синтаксиса добавляет только очень трудно отслеживаемые ошибки.
механизм шаблонов для JavaScript.
Плагин для jQuery...
Функции:
- 100% в JavaScript
- прекомпилятор
- Поддержка JSON
- Работа с Аяксом
- Разрешить использование кода JavaScript внутри шаблона
- Разрешить создавать каскадные шаблоны
- Разрешить определять параметры в шаблонах
- Живое обновление! - автоматическое обновление контента с сервера...
здесь есть документ для обсуждения этой темы, в котором рассматривается ряд инструментов для создания шаблонов. Однако это не относится к jQuery.
Подключаемый модуль шаблонов jQuery, созданный Microsoft и принятый в качестве официального подключаемого модуля jQuery.
Но обратите внимание, что теперь он устарел.
Я бы проверил json2html, он не требует написания фрагментов HTML и вместо этого полагается на преобразования JSON для преобразования массива объектов JSON в неструктурированные списки. Очень быстро и использует создание DOM.
Пару лет назад я создал IBDOM: http://ibdom.sf.net/ | По состоянию на декабрь 2009 года он поддерживает привязку jQuery, если вы получаете его прямо из ствола.
$("#foo").injectWith(collectionOfJavaScriptObjects);
or
$("#foo").injectWith(simpleJavaScriptObject);
Кроме того, теперь вы можете поместить все маркеры "data:propName" в атрибуты class="data:propName other classnames", чтобы вам не приходилось засорять содержимое вашего приложения этими маркерами.
Мне еще предстоит обновить кучу документации, чтобы отразить мои недавние улучшения, но с 2007 года у меня были различные версии этого фреймворка.
Скептикам этого вопроса:
Когда Microsoft изобрела с помощью IE5 то, что мы теперь знаем как XmlHttpRequest и шаблон «ajax», часть обещания, стоящего за этим, заключалась в чистом обмене данными между веб-браузером и сервером. Эти данные должны были быть инкапсулированы в XML, потому что в 1999/2000 годах XML был просто очень популярен. Помимо получения XML-документа по сети с помощью механизма обратного вызова, компонент MSXML ActiveX от MS также поддерживал предварительную реализацию того, что мы теперь знаем как XSL-T и XPath.
Объединение извлечения HTTP/XML, XPath и XSL-T предоставило разработчикам огромную свободу творчества для создания богатых «документов», которые вели себя как «приложения», просто отправляя и, что более важно, извлекая данные с сервера.
Почему это полезный шаблон? Это зависит от того, насколько сложен ваш пользовательский интерфейс и насколько вы заботитесь о его ремонтопригодности.
При создании визуально очень богатого семантически размеченного интерфейса с помощью продвинутого CSS последнее, что вам нужно сделать, это разбить фрагменты разметки на «мини-контроллер/представления», чтобы вы могли .innerHTML фрагмент документа в основной документ, и вот почему.
Одним из ключевых принципов управления расширенным пользовательским интерфейсом html/css является сохранение его проверки, по крайней мере, на активной фазе разработки. Если ваша разметка проходит проверку, вы можете сосредоточиться на ошибках CSS. Теперь, если фрагменты разметки в конечном итоге внедряются на разных этапах взаимодействия с пользователем, все становится очень громоздким, и все становится хрупким.
Идея заключалась в том, чтобы поместить все ваши конструкции пользовательского интерфейса разметки в один документ, получать ТОЛЬКО ДАННЫЕ по сети и использовать надежную структуру, которая, по крайней мере, просто вставит ваши данные в ваши конструкции разметки. и в большинстве повторяющихся конструкций разметки, которые вы пометили как повторяемые.
Это было возможно с XSL-T и XPath в IE5+, но практически ни в каких других браузерах. Некоторые браузерные фреймворки F/OSS экспериментируют с XPath, но пока это не совсем то, на что мы можем положиться.
Итак, что лучше всего сделать для достижения такого шаблона? ИБДОМ. Получите данные с вашего сервера, введите их в свой документ. легко.
Вы должны взглянуть на Javascript-Templates, это небольшой механизм шаблонов, используемый в известном плагине jQuery File Upload и разработанный тем же автором, Себастьяном Тшаном (@blueimp)
https://github.com/blueimp/JavaScript-Templates
Следуйте руководству по использованию, составленному Себастьяном, просто удалите эту строку
document.getElementById("result").innerHTML = tmpl("tmpl-demo", data);
Замените его этим
$('#result').html(tmpl('tmpl-demo', data));
Не забудьте добавить тег результата div в свой HTML-файл.
<div id="result"></div>
Наслаждаться