web-dev-qa-db-ja.com

Handlebars.js:通常の完全なテンプレートのように部分テンプレートを使用します

私はパーシャルとしても、JavaScript自体からも使用したいテンプレートを持っています。

19

すべてのテンプレートを通常のテンプレートとしてコンパイルしてから、それらをパーシャルとして利用できるようにすることで、逆の方法で実行する方が簡単です。

Handlebars.partials = Handlebars.templates

これにより、テンプレートを通常どおり、また部分テンプレートとしても使用できるようになります。

{{> normalTemplate}}
14

JavaScriptからパーシャルをレンダリングするには、次を使用できます

Handlebars.partials["myPartial"]()
5
Adil

テンプレートからパーシャルを使用するには、{{> partialName}}を含めるだけです。

<script id="base-template" type="text/x-handlebars-template">
  <div>
    {{> person}}  <!-- This is the partial template name -->
  </div>
</script>

<script id="partial-template" type="text/x-handlebars-template">
  <div class="person">
    <h2>{{first_name}} {{last_name}}</h2>
    <div class="phone">{{phone}}</div>
  </div>
</script>

<script type="text/javascript">
  $(document).ready(function() {
    var template = Handlebars.compile($("#base-template").html());

    //Aliasing the template to "person"
    Handlebars.registerPartial("person", $("#partial-template").html()); 

    template(yourData);
  }
</script>
1
Raoul George