Визуализация кода Javascript во вложенных шаблонах усов с помощью mustache.js handlebars.js ICanHaz.js - PullRequest
0 голосов
/ 16 марта 2012

Можно ли визуализировать Javascript во вложенных шаблонах mustache.js следующим образом?

myApp.mustache:

{{#myapp}}
{{>userApp}}
{{/myapp}}

userApp.mustache:

{{#user}}
<script>
  $(function () {
    $("a[id='a_popover_{{username}}']").popover()
  })
</script>
{{/user}}

Шаблоны корректно отображаются с помощью pystache (библиотеки усов Python), но mustache.js, handlebars.js, ICanHaz.js и ICanHandlebarz.js жалуются, что что-то вроде #user не было закрыто должным образом.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2012

Я также застрял в аналогичной проблеме, в результате чего был создан новый элемент сценария, потому что, даже если был выполнен код javascript, он не был выполнен после добавления в тело, он действует как строка.

$('script:last').html('alert("ok !")'); // won't work

пример кода для моего случая:

var render = Mustache.to_html(template, data_sources);
var sc  = document.createElement('script');
sc.innerHTML = render;
var p_div = document.getElementById('template_wrap_div').parentNode;
p_div.innerHTML = "";
p_div.appendChild(sc);

Надеюсь, что это дает некоторую идею и помощь.

0 голосов
/ 20 мая 2012

Я уверен, что проблема в бите </script>, браузер видит это и анализирует его как конец скрипта шаблона.Попробуйте убежать так: <\/script>

...