Вот 3 способа отображения списка с количеством символов.Все, кроме первого и самого короткого, написаны на шаблонных языках без логики.
CoffeeScript (с Reactive Coffee builder DSL) - 37 символов
"#{name}"
ul items.map (i) ->
li i
Knockout -100 символов
<span data-bind="value: name"/>
<ul data-bind="foreach: items">
<li data-bind="value: i"/>
</ul>
Руль / Усы - 66 символов
{{name}}:
<ul>
{{#items}}
<li>{{.}}</li>
{{/items}}
</ul>
Подчеркивание - 87 символов
<%- name %>:
<ul>
<% _.each(items, function(i){ %>
<li><%- i %></li>
<% }); %>
</ul>
Обещание логических шаблонов было, я полагаючто люди с более широким набором навыков смогут управлять шаблонами без логики, не стреляя себе в ногу.Однако то, что вы видите в приведенных выше примерах, заключается в том, что когда вы добавляете язык минимальной логики в разметку на основе строк, результат получается более сложным, а не меньшим.Кроме того, вы выглядите так, как будто делаете PHP старой школы.
Очевидно, я не возражаю против того, чтобы «бизнес-логика» (обширные вычисления) не использовалась в шаблонах.Но я думаю, что, предоставив им псевдо-язык для логики отображения вместо языка первого класса, цена будет заплачена.Не просто печатать, а отвратительную смесь переключения контекста, кому-то нужно ее прочитать.
В заключение я не вижу логики шаблонов без логики, поэтому я бы сказал, что их преимущество для меня ноль, но я уважаю, что многие в сообществе видят это по-другому:)