1

我有一张翡翠表,它将通过 express ( res.render('index', {classes: results})) 动态生成:

table
  tr
    th Title
    th School
    th Description
- if (classes.length) {
- classes.forEach(function(aClass) {
  tr
    td= aClass.title
    td= aClass.school
    td= aClass.desc
- });}

但是,当我渲染它时,数据显示为一团乱麻。查看 HTML 源代码会发现该</table>标记位于. classes我该如何解决这个问题?

4

2 回答 2

3

你几乎得到它 - 玉在这里是挑剔的。创建迭代循环时,您需要确保 JavaScript 缩进到与数据相同的级别:

table
  tr
    th Title
    th School
    th Description
  - if (classes.length) {
  - classes.forEach(function(aClass) {
  tr
    td= aClass.title
    td= aClass.school
    td= aClass.desc
  - });}

如果这让你内心的程序员对代码风格感到畏缩,我支持你。然而,事情就是这样。或者,您可以使用翡翠的each记录在这里

table
  tr
    th Title
    th School
    th Description
  - if (classes.length) {
  each aClass in classes
    tr
      td= aClass.title
      td= aClass.school
      td= aClass.desc
  - }

再一次,这看起来有点不稳定,但它是迭代的好方法。

于 2013-01-09T19:47:36.020 回答
0

我的缩进风格是:

table
  tr
    th Title
    th School
    th Description
  if (classes.length)
    each aClass in classes
      tr
        td= aClass.title
        td= aClass.school
        td= aClass.desc
于 2013-01-09T22:32:31.010 回答