这是这个问题的一个分支:Handlebars.JS (w/ Dashbars) parse error "expecting open_endblock got inverse"(其中也有一个codepen。)我在那里发布了这个因为我认为问题是相关的,也许(因为{{else}}
可以与if或者每个人一起使用,但结果并非如此。
具体做法是:
我还遇到了我的最外层
{{#each}}
循环问题,只有通过模板输出的最后一条记录才会输出。在打开{{log this}}
之后,所有内容都会在{{#each}}
后登录,但它甚至不会隐藏在HTML输出中。
所以我的表应该有4行,对象0到3会记录到控制台,但只有第四项(第3项)被添加到表中。内部的每个人都按预期工作,任何和所有其他迭代器功能都是如此;我不确定为什么它只是外部的失败。创建我的对象数组的JSON在我使用过的每一个linter中都有效,就像我的JavaScript一样。 Atom应该有一个把手短绒,但实际上似乎并没有...嗯......工作。
我正在使用Dashbars,(包含lodash.js和moment.js依赖项),但是在我开始使用该库之前就存在此错误。 FWIW,jQuery 2.1.3 IS安装,并在任何其他库之前加载,所有这些都在<head>
标记中。 (我不知道它在哪里重要,但以防万一。)因为涉及JavaScript,是的,我在Chrome中。 Handlebars的版本是最新的3.0.1,使用完整版本,因为我的用例不允许预编译。另一个NB是所有这些都嵌入在.cfm文件中(不是我的选择),所以一切都先通过CFML解释器运行。
答案 0 :(得分:0)
所以......我设法再次超越自己。我已经创建了fork原始代码,但我的浏览器中的HTTPS策略使其无法正常工作= - \
&#34;钱&#34;差异如下(不能使用SO <ul>
,因为我无法在子弹块中嵌入代码)
*我一直试图将我的模板卡入<tr>
元素,以避免Handlebars处理比我认为必要的更多代码行:
<tr class="searchResults" id="searchResultsHTML"></tr>
<script id="result-template" type="text/x-handlebars-template">
<!--- To accommodate for that this would all begin and end with a <tr>, I tried this: --->
{{#unless @first}}
<tr>
{{/unless}}
<!--- The rest of the template --->
{{#unless @last}}
</tr>
{{/unless}}
</script>
*以优秀的程序员方式,我多次分叉我的实际文件,尝试不同的事情。 (大多数情况下这样做是为了避免无休止的git重置和分支;我知道git对于这类事情意味着什么,但我只是希望能够立刻刷新旧标签。无论如何!)取出那些{{ 1}}阻止......显然,我误解了它的作用(因为the official documentation有点......很少......在那一点上。那里没有{TRUE倒数} {1}})为了那些不想打扰点击代码笔的人:
{{unless}}
是的,我坚持使用ColdFusion评论;因为那些仅供我参考,或者是可怜的下一个开发人员,他们不需要去客户端,这样Handlebars就没有花费宝贵的时间来渲染它们。 (我已经烦恼了,Handlebars将不得不通过我的标题行和其他一些文本进行流失。)此工具在我们的数据库中搜索可能代表意外重复帐户的客户编号,因此如果您搜索John Smith。 ..oi!
所以对于那些用Google搜索过来的人来说......如果这有助于一个人像我一样避免转动轮子,我会很高兴。