使用Jade/Express.js渲染表,每行有多个元素

Rou*_*ari 3 html html-table node.js express pug

我正在尝试使用简单的对象数组中的jade渲染表.但是,我不想简单地为每个对象渲染一行,而是想在每一行上渲染三个对象.

<table>
  <thead>...</thead>
  <tbody>
    <tr>
      <td>obj0</td>
      <td>obj1</td>
      <td>obj2</td>
    </tr>
    <tr>
      <td>obj3</td>
      <td>obj4</td>
      <td>obj5</td>
    </tr>
    ...
  </tbody>
</table
Run Code Online (Sandbox Code Playgroud)

rko*_*val 6

接受的答案在技术上有效,但我不喜欢你必须构建数据以便逻辑工作.我认为逻辑应该适应数据.因此,我想出了这个:

objects = [obj0, obj1, obj2, obj3, obj4, obj5]

table
  thead
  tbody
    - var columns = 3
    - for (var i = 0; i < objects.length; i=i+columns)
      tr
        - for (var j = 0; j < columns && i+j < objects.length; j++)
          td=objects[i+j]
Run Code Online (Sandbox Code Playgroud)


Jon*_*Ong 5

objects = [[obj0, obj1, obj2], [obj3, obj4, obj5]]

table
  thead
  tbody
  for object in objects
    tr
      for subobject in object
        td= subobject
Run Code Online (Sandbox Code Playgroud)

  • 谢谢.我没想到在表构建循环之前重新组织对象. (2认同)