把手不输出任何
问题描述:
在文件的开头,我定义的手把等:把手不输出任何
<!-- 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: 一些尝试在控制台: 我可以访问template
,driver
和source
。致电template(driver)
返回正确的HTML,但网站未更新。
它可能并不清楚,但我使用Grunt作为本地开发环境,Handlebars与Bower一起安装。 Gruntfile由Yeoman制作。
答
我找到了我的解决方案,最后一行this JSFiddle。我给其中的模板是一个ID标签,并用:
$('#tagIDName').append(template(driver));
,而不是仅仅template(driver);
是因为失踪的加载bootstrap.js行'>'? – JJJ
对不起,这是我的问题中的一个错字。固定。谢谢! – Esso