Тема: Snakeskin
Показать сообщение отдельно
  #340 (permalink)  
Старый 10.11.2014, 22:59
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kobezzza,
Цитата:
https://github.com/kobezzza/Snakeski...B5%D1%80%D0%B5
Не-не, это я знаю. Я говорю про подключение шаблона из отдельного файла. Например так:
<script type="text/x-snakeskin-template" id="templates" src="tmp.ss"></script>

Цитата:
Конечно, ты же можешь вызывать любую функцию в шаблоне, а шаблон - это функция, есть даже сахарок для этой задачи: https://github.com/kobezzza/Snakeskin/wiki/call
<script type="text/x-snakeskin-template" id="templates">
    {template blockName(arg)}
      {arg}
    {/template }
     
    {template a()}
      {call blockName('аргумент')}
    {/template}
     
    {template b()}
      {call blockName('другой аргумент')}
    {/template}
  </script>

  <script>
    var tpls = {};
    Snakeskin.compile(document.querySelector('#templates'), { context: tpls });

    var out  = document.querySelector('.messages');
    var name = 'Имя';
    var mess = 'Текст сообщения';

    out.innerHTML = tpls.a({name, mess}) + out.innerHTML;
  </script>


Чот так не получается(
Цитата:
ReferenceError: blockName is not defined
Использую v6.3.0.


Спасибо за пояснение по другим моментам)
Ответить с цитированием