2015-06-20 51 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);