我有这个阵列设置:
var threads = ["one", "two", "three"]
var data = [
[11,21,31],
[12,22,32],
[13,23,33],
]
我喜欢这样的html:
one two three
11 21 31
12 22 32
12 23 33
现在我将带有nodejs(Express)的数组传递给我的layout.jade
table
thead
each val in {threads}
+tablethread(val)
tbody
-for (var i = 0; i < {data}.length; i++) {
tr
-for (var o = 0; o < {data[i]}.length; o++) {
+tableval(data[i][o])
有人可以帮助我正确渲染数组吗? (mixins也在layout.jade的顶部定义)
mixin tableval(val)
td= val
mixin tablethread(name)
th= name
我现在收到此错误:SyntaxError: Unexpected token (146:22)
答案 0 :(得分:1)
你可以用玉石做到这一点:
- var threads = ["one", "two", "three"]
- var data = [ [11,21,31], [12,22,32], [13,23,33], ]
table
tr
for thread in threads
th=thread
for values in data
tr
for i in values
td=i
这将编译成以下HTML:
<table>
<tr>
<th>one</th>
<th>two</th>
<th>three</th>
</tr>
<tr>
<td>11</td>
<td>21</td>
<td>31</td>
</tr>
<tr>
<td>12</td>
<td>22</td>
<td>32</td>
</tr>
<tr>
<td>13</td>
<td>23</td>
<td>33</td>
</tr>
</table>
我在codepen here上找到了一个有效的例子。