我想迭代一个JSON对象数组并使用下划线和jade创建一个表 但我的玉模板给我发了以下错误,我无法找到任何资源来解决它。
Error: /home/kseguy/node_projects/prwrite/views/dashboard/index.jade:69
67| script(type="text/template" ,id="data-table")
68| <% _.each(article,function(article){ %>
> 69| tr
70| td <%= article.ProjectName %>
71| td <%= article.Date %>
72| td <%= article.Status %>
unexpected token "indent"
at Parser.parseExpr (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:252:15)
at Parser.block (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:707:25)
at Parser.tag (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:816:24)
at Parser.parseTag (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:737:17)
at Parser.parseExpr (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:211:21)
at Parser.block (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:707:25)
at Parser.tag (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:816:24)
at Parser.parseTag (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:737:17)
at Parser.parseExpr (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:211:21)
at Parser.block (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:707:25)
如何调试问题?我已经尝试使用sublime文本将缩进转换为制表符和空格,但到目前为止还没有成功。
这是我的玉石模板
tbody
script(type="text/template" ,id="data-table")
<% _.each(article,function(article){ %>
tr
td <%= article.ProjectName %>
td <%= article.Date %>
td <%= article.Status %>
td <%= article.Url %>
<% }); %>
答案 0 :(得分:1)
这确实有效,因为jade以&lt;作为常规文本。但是你必须要小心,因为他们不可能有孩子,所以他们下面的线条不能再缩进。
这是一个带有正常注释的玉石测试,然后您可以用下划线替换
// http://jsfiddle.net/smwpvngc/2/
<template>
script
<!-- each -->
tr
td <!-- col1 -->
td <!-- col2 -->
td <!-- col3 -->
<!-- close each -->
</template>
输出:
<script>
<!-- each --> <tr><td><!-- col1 --></td><td><!-- col2 --></td>
<td><!-- col3 --></td></tr><!-- close each --></script>
如果我在tr之前添加一个额外的空格,我也会收到一个缩进错误,因为jade不知道如何用子节点填充原始条目。