2015-06-20 62 views
4

在文件的開頭,我定義的手把等:把手不輸出任何

<!-- build:js(.) scripts/vendor.js --> 
<!-- bower:js --> 
<script src="bower_components/jquery/dist/jquery.js"></script> 
<script src="bower_components/bootstrap/dist/js/bootstrap.js"></script> 
<script src="bower_components/handlebars/handlebars.js"></script> 
<!-- endbower --> 
<!-- endbuild --> 

index.html結束-file我拉我的車把文件:

<!-- build:js({app,.tmp}) scripts/main.js --> 
<script src="scripts/main.js"></script> 
<script src="scripts/serverHandler.js"></script> 
<script src="scripts/driver.js"></script> 
<!-- endbuild --> 

與Handlebars相關的代碼的文件是driver.js。它看起來像這樣:

driver = { 
    someBoolean : false, 
    name : null, 
    startTime: new Date(), 
    position : null 
}; 

source = $('#drive-buttons-template').html(); 
template = Handlebars.compile(source); 
template(driver); 

模板是在index.html -file,是Handlebars.js文件的加載之間,我的文件:

<script id="drive-buttons-template" type="text/x-handlebars-template"> 
<button type="button" class="btn btn-default btn-lg"> 
{{#if someBoolean}} <span class="glyphicon glyphicon-stop" aria-hidden="true"></span> Start 

{{else}} <span class="glyphicon glyphicon-play" aria-hidden="true"</span> Stop {{/if}}       
</button> </script> 

我已經試過編譯它在TryHandlebars,它在那裏工作,這讓我覺得我的設置有問題。當我加載頁面時,它不會給我帶來任何錯誤,但也不會顯示任何內容。我可以在控制檯上使用Handlebars-methods等,但它不會改變任何東西。

希望這不僅僅是我錯過了一些必不可少的東西,但很可能。 所有幫助都很受歡迎。提前致謝!

UPDATE: 一些嘗試在控制檯: 我可以訪問templatedriversource。致電template(driver)返回正確的HTML,但網站未更新。

它可能並不清楚,但我使用Grunt作爲本地開發環境,Handlebars與Bower一起安裝。 Gruntfile由Yeoman製作。

+0

是因爲失蹤的加載bootstrap.js行'>'? – JJJ

+0

對不起,這是我的問題中的一個錯字。固定。謝謝! – Esso

回答

0

我找到了我的解決方案,最後一行this JSFiddle。我給其中的模板是一個ID標籤,並用:

$('#tagIDName').append(template(driver)); 

,而不是僅僅template(driver);