2013-05-06 88 views
4

我正在嘗試使用Handlebars來顯示本地HTML文件的自助服務終端設備。這些文件使用Javascript來獲取遠程內容,Handlebars控制模板/輸出。加載並編譯外部Handlebars模板?

我想要做的是將Handlebars模板放在自己的目錄中,當與按鈕交互時(鏈接) - 將這些模板注入頁面,然後用AJAX響應填充內容。

我所擁有的一切,除了模板輸出工作:

鏈接例如:

<a href="#" onclick="Kiosk.history(); return false;">History</a></li> 

在application.js中:

history: function() { 

    var source; 

    Zepto.ajax({ 
     url: 'templates/history.handlebars', 
     dataType: 'html', 
     cache: false, 
     success: function(data, status, response) { 
     source = data; 
     var template = Handlebars.compile(response.responseText); 

     var context = { 
      title: 'Static Title (to be replaced)' 
     }; 

     $('#main-content').html(template(context)); 
     } 
    }); 

車把文件:

<div class="row" id="history"> 
    <div class="large-10 columns large-offset-1"> 
    <script id="hb-history" type="text/x-handlebars-template"> 
     <h2>{{ title }}</h2> 

     {{ body }} 
    </script>should have a template here 
    </div> 
</div> 

我似乎錯過了一些東西,因爲#main-content div永遠不會更新動態模板,只有輸出'應該是模板'。

回答

2

哦,就在我面前。模板中的腳本標記不是必需的。