2017-09-15 50 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