javascript - Jade mixin 迭代 json

标签 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 标签。

有什么办法让它工作并填充列表吗? 我不知道我做错了什么。

最佳答案

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

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>

关于javascript - Jade mixin 迭代 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27522430/

相关文章:

javascript - 如何从 onchange 事件外部获取 jQuery UI 自动完成值?

python - 如何防止 python json.loads() 不必要地解码字符

json - Django 无法解析内部服务器错误的 WSGIRequest 的 POST 参数

process.env.port 变量上的 Node.js 和 MS Azure

node.js - 如何离线安装node+vue web程序

javascript - 在 Javascript window.open() 中保持滚动位置

javascript - Web 元素的文件夹/目录结构 - 最佳实践

javascript - 通过执行 javascript 在 python 中使用 selenium webdriver 隐藏元素

node.js - Docker Nodejs MongoDB

当 html 在 JSON 数据包中传递时,Javascript 错误