2013-03-17 5 views
0

Я использую mustache для визуализации части html. Для этого я использую этот JavaScript:шаблон внутри html усы js

var template = $("#div_name").html(); 
    .. 
    .. 
    $("#container").append(Mustace.render(template,some_object)); 

Как <div id="div_name"></div> все еще остаются внутри HTML, я использую его только, чтобы получить шаблон я задавался вопросом: является ли это удобно держать шаблонный div HTML быть внутри html или лучше load это, например, с частицами через ajax? Спасибо заранее.

ответ

3

Вы также можете сохранить шаблоны внутри элементов сценария следующим образом:

<script type="application/mustache" id="div_name"> 
     //Mustache template code here 
    </script> 

И извлечь код шаблона оттуда, используя $("#div_name").html(). Он не будет отображаться на странице, а тег сценария не будет выполнен из-за недопустимого type.

+0

Прежде всего, спасибо. Я никогда не видел такого решения, но обычно избегаю использования HTML внутри javascript, потому что он часто вызывает ошибку, вызванную пробелами. Я делаю неправильно? – steo

+1

@steo да, как я объяснил, вы должны указать 'type', как я. Браузер не выполнит его как javascript, если вы укажете тип, например 'application/mustache'. См. Здесь, никаких ошибок: http://jsfiddle.net/nZQ32/ – Esailija

+0

Что делать, если у меня есть несколько шаблонов? Я должен создать один скрипт для каждого из них? – steo

Смежные вопросы