Jade mixin迭代json

时间:2014-12-17 09:39:33

标签: javascript json node.js pug mixins

我有以下json文件:

{
  "leadership": [
    {
        "leadername": "Name1",
        "leaderjob": "Chairman",
        "leaderdescription": "The boss"
    },
    {
        "leadername": "Name2",
        "leaderjob": "Chief Executive Officer",
        "leaderdescription": "Other boss"
    }
  ]
}

如果我尝试使用以下mixin获取内容:

mixin defList(obj)
  dl.deflist
    each item in obj
      dt= item.leadername
      dd= item.leaderdescription

通过这样称呼它

+defList(leadership)

一切正常,但我想拥有的是:

mixin defList(obj, name, description)
    dl.deflist
        each item in obj
           dt= name
           dd= description

所以我可以这样称呼它:

+defList(leadership, leadername, leaderdescription)

但不幸的是我只获得了空的dt和dd标签。

有没有办法让它工作并填充列表? 我无法弄清楚我做错了什么。

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你会这样解决:

mixin defList(obj, name, description)
  dl.deflist
    each item in obj
      dt= item[name]
      dd= item[description]

然后:

+defList(leadership, "leadername", "leaderdescription")

结果:

<dl class="deflist"><dt>Name1</dt><dd>The boss</dd><dt>Name2</dt><dd>Other boss</dd></dl>