2017-09-15 83 views
0

我有这段代码。只编译模板的一部分

<h1>Title</h1> 

<section class="suggestions-section"> 
    <h2></h2> 
    <div class="special-suggestions"> 
     {{#each suggestions}} 
      <fieldset> 
       <legend>{{header}}</legend> 
       <img src="{{src}}" alt=""> 
       <div class="placeholder-buy"></div> 
      </fieldset> 
     {{/each}} 
    </div> 
</section> 

是否有可能编译此代码,并将h1放在一个DOM元素和其他东西在其他?

const mainContent = $('#main-content'); 
const header = $('#header'); 
//compile template 
mainContent.prepend(template(data)); 
header.append(template(data)) 

我可以使用一个模板来做到这一点,或者我必须做两个吗?

回答

1

为什么你的标题不是你的模板的一部分? (我应该期待它也是动态的)。

  1. 如您所说,您可以在单独的文件中使用2个不同的模板。

  2. 可以实例template方法两次:

    var template = Handlebars.template(src);

    var templateSecond = Handlebars.template(src2);

  3. 看看局部模板。有点像自定义过滤器。但可以完成这项工作。

    http://handlebarsjs.com/partials.html