【问题标题】:How to do server-side rendering in Jade with an Array of json objects instead of a json object如何在 Jade 中使用 json 对象数组而不是 json 对象进行服务器端渲染
【发布时间】:2017-10-29 23:18:20
【问题描述】:

在我的 Node.js 服务器上,我有一个由 MySQL 查询提供给我的 JavaScript 对象数组。我需要将该数组发送到我的 Jade 模板,所以我在 router.js 中执行此操作:

data = JSON.stringify(rows[0]);
res.render('yourUploads', {fromServer:data});

console.log(data) 读取如下内容:[{key:val},{key:val},{key:val}]

现在我正在尝试像这样在 Jade 中迭代这个对象:

- for (object in JSON.parse(fromServer)) {
        +posMixin(object.toString())
- }

object.toString() 只给我“0”、“1”、“2” object.val 似乎为空。

我认为这是 how to render json object in jade and loop through results 的副本,但我正在处理这个 json 数组而不是 json。这很像 Passing an array to a JSON object for Jade rendering,但我正在尝试使用 mixin 并运行服务器端渲染,而不是将其移至 JavaScript。

【问题讨论】:

    标签: javascript arrays json node.js pug


    【解决方案1】:

    For in 循环工作有点不同。它传递键(您的数组),因此您可能需要遍历数组,然后遍历每个键:

    var arr=JSON.parse(fromServer);
    arr.forEach(function(obj){
      for(key in object){
        console.log(key+":"+object[key]);
      }
     });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-02
      • 2016-12-17
      • 1970-01-01
      • 2017-06-10
      • 1970-01-01
      • 2014-01-15
      • 2013-08-03
      • 2020-03-01
      相关资源
      最近更新 更多