Различные шаблоны JS;Почему два {? - PullRequest
2 голосов
/ 22 февраля 2012

Я озадачен этой нотацией, которая сильно распространилась после того, как первый шаблонный движок, использующий его, стал успешным. Обозначение: {{bla}}

Кто-нибудь знает практическую причину наличия двух наборов {}? Я думаю, что это читается очень плохо; Устаревший JQuery один имеет больше смысла ($ {bla})

Ответы [ 2 ]

2 голосов
/ 22 февраля 2012

Это потому, что это не часто используемая комбинация символов.

Синтаксический анализ шаблона - это все о регулярных выражениях, затем превращение текста в токены и компиляция этих токенов в другой язык (например, HTML).

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

это та же самая причина, по которой PHP использует <?php ?>, а ASP использует <% %>.

Как и в Twig , лексер ищет {{ }} и {% %} для поиска команд Twig. Если бы мне пришлось использовать { }, каждый раз, когда это было в любом месте шаблона (не только HTML-разметки), мне пришлось бы избегать его. А поскольку языком шаблонов является простота использования, язык должен сделать свои "токены" как можно более различимыми.

0 голосов
/ 22 февраля 2012

Как получается, что Distal работает без необходимости использовать экранирующие символы, такие как {{}}? http://code.google.com/p/distal

...