【发布时间】:2017-10-19 21:06:30
【问题描述】:
我刚开始使用handlebarsjs,发现了handlebars-helpers:https://github.com/helpers/handlebars-helpers
但我不确定如何在浏览器中使用它。这些示例似乎用于 gulp 文件。我还注意到它确实有一个区域可以让它在浏览器中工作:https://github.com/doowb/handlebars-helpers-browserify-example,然后进入工作演示,我看到生成的 js 谈到创建:https://doowb.com/handlebars-helpers-browserify-example/app.js 所以我尝试在之后将它添加到我的 js 引用中车把:
<script src="~/lib/handlebars/handlebars.js"></script>
<script src="https://doowb.com/handlebars-helpers-browserify-example/app.js"></script>
但是当我尝试引用时在我的模板中添加{{add @index + 1}}。我在控制台中缺少助手添加错误。这是我的模板代码:
var source = $("#questions-template").html();
var template = Handlebars.compile(source);
var questionData = JSON.parse('{ "questions":data }');
var html = template(questionData);
$("#questions-template-output").html(html);
我对 gulp 和其他前/后处理的东西很陌生。我觉得我错过了一些明显的东西。我需要做什么才能让它发挥作用?
【问题讨论】:
-
我不是故意忽略你的问题,听起来我比你聪明。我遇到了类似的问题,一位同事建议我使用template literals,这比使用第 3 方模板要好得多。也许它适用于您的项目?
-
这对handlebarsjs有用吗?我没有提到能够执行您在文档中链接的内容:handlebarsjs.com/#literals。您能否提供一个示例,说明如何使用它在模板内的循环内显示
index + 1?? -
我的建议是对您的项目进行范式转变,完全远离把手,转向带有 HTML 的香草 JS。谷歌
template literals vs handlebars,如果你有兴趣阅读。我得跑了,但今晚晚些时候会回来,如果其他人还没有,我会提供更多信息。