Хороший шаблонизатор Javascript для работы с JSON - PullRequest
3 голосов
/ 28 мая 2010

Я посмотрел на jTemplates , и стоит попробовать. Существуют ли другие движки шаблонов, кроме jTemplates?

Ответы [ 8 ]

5 голосов
/ 15 июля 2010

Вы пробовали pure.js ?

Основное отличие от десятков доступных шаблонизаторов JS состоит в том, что PURE оставляет HTML полностью отделенным от логики JS.И это тоже довольно быстро.

Однако это не обычный <% ...%> вид шаблонного программирования, который вам может понравиться.У него есть шаблонный / декларативный подход, который имеет некоторое сходство с XSLT (но без боли ...)

4 голосов
/ 28 мая 2010

Мне понравился подход JavaScriptMVC Frameworks Представления , особенно потому, что он использует сам JavaScript в качестве языка шаблонов. Платформа теперь основана на jQuery, и вы можете визуализировать вашу модель прямо в представления (модель поддерживает JSON, JSONP, XML и т. Д.).

1 голос
/ 06 июля 2010

Вот один из примеров, реализованный в jQuery для языка шаблонов Smarty. http://www.balupton.com/sandbox/jquery-smarty/demo/

Одной из впечатляющих функций является поддержка динамических обновлений. Поэтому, если вы обновите переменную шаблона, она будет обновлена ​​в любом месте шаблона, где используется эта переменная. Довольно изящный.

Вы также можете подключиться к изменениям переменных, используя событие onchange. Так что это полезно, скажем, для выполнения эффектов или AJAX, когда, скажем, переменная "page" изменяется; -)

0 голосов
/ 11 января 2018

Вы можете использовать это: https://jocapc.github.io/jquery-view-engine/

Он связывает свойства объекта JSON в пустой шаблон HTML и сопоставляет свойства с элементами по имени, идентификатору или классу.

Во-первых, вам нужно иметь простой HTML-шаблон на своей странице:

<div id="template">
    <h1 id="Name"></h1>
    <label>Description:</label>
    <textarea name="Desc"></textarea>
    <ul>
        <li class="bind-Tags"></li>
    </ul>
</div>

Тогда вам нужен объект JS, который будет помещен в шаблон:

var data = {   Name: "JOVN",
    Desc: "The simplest view engine",
    Tags: ["View engine", "JavaScript", "SPA"]
}

Наконец, просто заполните представление объектом данных:

$("div#template").view(data);

Результат:

<div id="template">
    <h1 id="Name">JOVN</h1>
    <label>Description:</label>
    <textarea name="Desc">The simplest view engine</textarea>
    <ul>
        <li class="bind-Tags">View engine</li>
        <li class="bind-Tags">JavaScript</li>
        <li class="bind-Tags">SPA</li>
    </ul>
</div>

Движок представления будет заполнять отдельные поля или дублировать элементы массива в шаблоне.

0 голосов
/ 11 апреля 2017

Попробуйте async-js-templates. Он быстрый, потому что выполняет параллельные запросы, которые могут быть асинхронными.

Поставляется с Maven.

0 голосов
/ 17 марта 2017

После того, как этот вопрос возник в 2017 году, похоже, что JsRender и JsViews стали текущей официальной реализацией шаблонов в экосистеме jQuery (хотя и не обязательно требующий jQuery):

JsRender - это легкий, но мощный шаблонизатор, обладающий высокой расширяемостью и оптимизированный для высокопроизводительного рендеринга без зависимости от DOM. Он предназначен для использования в браузере или на Node.js, с или без jQuery.

JsRender и JsView вместе обеспечивают реализацию следующего поколения официальных плагинов jQuery JQuery Templates и JQuery Data Link - и заменяют эти библиотеки.

- JsRender GitHub Readme

Официальный сайт: http://www.jsviews.com/

GitHub (JsRender): https://github.com/BorisMoore/jsrender

GitHub (JsViews): https://github.com/BorisMoore/jsviews

0 голосов
/ 31 мая 2010

Yajet - новый, определяющий синтаксис, отличный от всего, что мы видели раньше. :-) Он компилирует шаблоны и работает быстро. Это не зависит от браузера и библиотеки; Существует небольшая оболочка jQuery для людей, которые не могут жить без jQuery, но сам движок независим и может работать и в Rhino или V8.

Поддерживает множество директив, которые допускают условные выражения, циклы, определяют компоненты шаблона многократного использования и т. Д.

0 голосов
/ 28 мая 2010

Стоит посмотреть по следующей ссылке.

http://wiki.github.com/nje/jquery/jquery-templates-proposal

...