9

我是第一次使用 mustache.js。我找到的所有示例似乎都在谈论将所有内容内联,但我希望我的模板在外部文件中,以便它们可以在多个地方使用。我怎么做?(我的堆栈中有 jQuery,如果这有所作为的话。)

所以说我有:

模板.html

{{title}} spends {{calc}}

数据.js

var data = { title: "Joe", calc: function() { return 2 + 4; } };

索引.html

<script type="text/javascript" src="data.js"></script>

<div id="target"></div>

<script type="text/javascript">
    var template = ?????? // how do I attach the template?
    var html = Mustache().to_html(template, data);
    $('#target')[0].innerHTML = html;
</script>
4

1 回答 1

1
template = $('.template').val();

您的模板在 DOM 中的位置...

<textarea class="template"> 
<h1>{{header}}</h1>
{{#bug}}
{{/bug}}

{{#items}}
  {{#first}}
    <li><strong>{{name}}</strong></li>
  {{/first}}
  {{#link}}
    <li><a href="{{url}}">{{name}}</a></li>
  {{/link}}
{{/items}}

{{#empty}}
  <p>The list is empty.</p>
{{/empty}}
</textarea> 

您还可以将多个模板直接呈现到您的页面中......

<script id="yourTemplate" type="text/x-jquery-tmpl"> 
    {{tmpl "#yourTemplate"}}
    <div>Something: ${TemplateValue}</div>
</script>
于 2010-12-10T20:37:36.187 回答