【问题标题】:How do I iterate over a JSON array using Jade and Node.js如何使用 Jade 和 Node.js 迭代 JSON 数组
【发布时间】:2015-01-26 11:51:06
【问题描述】:

所以我将这个 JSON 数组 apiData 作为 data 传递给视图。

后端

router.get('/', function(req, res) {
    var data = JSON.stringify(apiData);
    res.render('gallery', { data: apiData });
}); 

前端

extends layout

block content
    h1 MyProject
    !{JSON.stringify(data)}

我正在尝试将!{JSON.stringify(data)} 缓存在一个变量中,并在jade 文件中对其进行迭代。我对玉完全陌生。我该怎么做呢?

【问题讨论】:

  • 您可以使用 Objects.key(data) 和 for (k in Objects.key(data)){//访问每个值,例如;数据[k];}
  • 能否在 repl.it 或 jsfiddle 发布代码链接?

标签: javascript node.js http templates pug


【解决方案1】:

您的代码中存在一些问题,例如根本没有使用您在服务器端执行的字符串化。

但您甚至不需要这里的 JSON。只需传递数组并对其进行迭代:

后端

router.get('/', function(req, res) {
    res.render('gallery', { data: apiData });
}); 

前端

extends layout

block content
    h1 MyProject
        each thing in data
             p= thing

你会找到examples of iteration in the documentation

【讨论】:

  • 你说它不起作用是什么意思?你有错误吗?您会在我的公共存储库 miaou 中找到许多工作示例,请参阅 github.com/Canop/miaou/blob/master/libs%2Fprefs.js#L145(服务器)和 github.com/Canop/miaou/blob/master/views%2Fprefs.jade#L83(玉)
  • 您非常成熟,可以 -1 让您知道您的解决方案对我不起作用。
  • 您仍然拒绝告诉控制台上什么不起作用以及您有什么错误。您只是让开发人员愿意帮助您浪费时间...对于未来的问题,请查看帮助中的“如何提问”页面。
  • 如果您对某条评论不满意,也许您应该在回复时留下它,而不是像个孩子一样到处投票。
  • 如果这是在玉模板中,那么p= thing 应该是p= #{thing}。在我做出改变之前对我也不起作用。
猜你喜欢
  • 1970-01-01
  • 2012-09-29
  • 2015-09-24
  • 2015-02-15
  • 2011-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多