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

时间:2018-06-17 12:05:54

标签: pug

我是Jade / Pug的新手,并试图通过mixins创建一个表。但是当我将我的数组传递给mixin并创建一行时,我得到以下内容:

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

created table (wrong data in the rows)

所以问题是如何获得正确的数据?

这是我的玉码

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)

我已经尝试过写

td #{item}

但它也不起作用

1 个答案:

答案 0 :(得分:1)

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

访问每个数组的name属性。

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

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

如果您将node设置为node = ['apple', 'cucumber', ... ]而非{1}},那么只需#{item}即可正常使用。