如何从 mixins(Jade/Pug)中的二维数组获取数据?


How to get data from 2d array in mixins (Jade/Pug)?

我是 Jade/Pug 的新手,正在尝试通过 mixins 创建一个表。但是,当我将数组传递给创建行的 mixin 时,我得到以下信息:

创建的表(行中的错误数据)

created

所以问题是我怎样才能得到正确的数据?

这是我的玉代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mixin row(items)  
  tr
  each item, index in items
    td= item

mixin th(items)  
  each item, index in items
    th= item  

mixin table(tableData, tableHeader)
  table    
    each header, index in tableHeader      
      +th(header)      
    each row, index in tableData        
      +row(row)    
 
- var tableHeader = [{name:"Fruits"}, {name:"Vegetables"}, {name:"Berries"}]  

- var node = [[{name:"apple"}, {name:"cucumber"}, {name:"strawberry"}], [{name:"orange"}, {name:"tomato"}, {name:"blueberry"}]]

+table(node, tableHeader)

我已经尝试过写

1
td #{item}

但它也不起作用


数据是对象数组,这就是您在编译代码中看到 [object Object] 的原因。两个选项:

访问每个数组的 name 属性。

由于您的示例中的 item 类似于 {name: 'foo'},因此请使用 #{item.name} 而不是 #{item}

将数据存储为字符串数组而不是对象

如果您将 node 设置为 node = ['apple', 'cucumber', ... ] 而不是您所拥有的,那么只需 #{item} 就可以正常工作。