把手不输出任何东西

时间:2015-06-20 10:39:40

标签: javascript gruntjs handlebars.js yeoman bower

在文件的开头我定义了Handlebars等:

plist

<!-- 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 --> - 文件的末尾,我拉入了我的Handlebars文件:

index.html

与Handlebars相关的代码的文件是<!-- 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 --> 。它看起来像这样:

driver.js

模板位于driver = { someBoolean : false, name : null, startTime: new Date(), position : null }; source = $('#drive-buttons-template').html(); template = Handlebars.compile(source); template(driver); - 文件中,介于Handlebars.js文件的加载和我的文件之间:

index.html

我尝试在TryHandlebars上编译它,它在那里工作,这让我觉得我的设置有问题。当我加载页面时,它没有给我任何错误,但也没有显示任何内容。我可以从控制台使用Handlebars方法等,但它不会改变任何东西。

希望这不仅仅是因为我错过了必不可少的东西,但这很可能。 所有的帮助都很受欢迎。提前致谢!

更新 一些在控制台中进行实验: 我可以访问<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> templatedriver。对source的调用会返回正确的HTML,但网站不会更新。

可能不太清楚,但我将Grunt用于本地开发环境,而Handlebars与Bower一起安装。 Gruntfile由Yeoman制作。

1 个答案:

答案 0 :(得分:0)

我找到了this JSFiddle最后一行的解决方案。我给了标签,其中模板是一个ID,并使用:

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

而不只是template(driver);