новости сообщество форум вики полезно

Mustache.erl

26/12/2009 12:32

Mustache.erl

Mustache.erl — это порт проекта Mustache for Ruby.

Mustache — это система шаблонов, не привязанная к какому-либо фреймворку. Система «навязывает» строгое разделение логики и представления вплоть до того, что в шаблонах Mustache невозможно реализовать какую-либо логику. Это позволяет использовать эти шаблоны из разных языков программирования.

Работа с Mustache велючает в себя понимание терминов «шаблон», «представление» и «контекст». Шаблоны соержат HTML (или любой другой формат) и тэги Mustache, которые определяют, какие данные будут переданы в шаблон. Шаблон может быть строкой или фалом (обычно с расширением .mustache). Представления — это эрлнговсике модули, экспортирующие функции, которые Mustache будет вызывать, чтобы получить данные для тгов в шаблоне.

Например (пример с двумя файлами — представлением и шаблоном):

Файл представления — это простой модуль simple.erl

-module(simple).
-compile(export_all).

name() ->
  "Tom".

value() ->
  10000.

taxed_value() ->
  value() - (value() * 0.4).

in_ca() ->
  true.

В представлении мы определяем функции, которые будут вызваны из шаблона. Некоторые функции вызывают другие функции, некоторые возвращают разные значения.

Шаблонный файл simple.mustache может выглядеть так:

Hello {{name}}
You have just won ${{value}}!
{{#in_ca}}
Well, ${{ taxed_value }}, after taxes.
{{/in_ca}}

Обратите внимание, что шаблон вызывает/ссылается на функции в модуле-представлении. Возвращаемые этими функциями значения указывают шаблону, что необходимо вывести.чтобы получить готовый HTML, убедитесь, что simple.beam доступен, и выполните:

mustache:render(simple)

Если все нормально, то функция возвращает следующее:

Hello Tom You have just won $10000! Well, $6000.00, after taxes.


 
 
 
 

так же

Ссылки

Сюда ссылаются

twitter