对来自服务器的数据的Jade / Pug迭代大量计算

时间:2017-05-29 06:30:07

标签: json node.js loops pug

我正在尝试迭代Jade中3个对象的json数组,以便填充一些html(3是任意的,我有一个380 +的用户)。

而不是3个div,我得到大约5,000+。我如何从我的Node.js服务器迭代这个对象,以便它在Jade / Pug中正确呈现?我的猜测是,它不是给我数组的长度(3),它给了我长度使该数组超过5,000的json字符串。

我的服务器发送了这个:

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

rows[0]是来自mysql数据库查询的结果,3个结果。

    script.
        var data = !{fromServer};
        console.log(data); //prints "(3) [Object, Object, Object]"
        console.log(data.length); //prints "3"

    mixin posMixin(uploadData)
        div #{uploadData}

body

    div Welcome to your awesome uploads page
    div(onclick="window.location='/createNewUpload'") go to your awesome Create New Upload page

    - for (i = 0; i < fromServer.length; ++i) { //fromServer.length is about 5,000?
        +posMixin("whateverItTakesToGetThisToWork") //puts 5,000 divs into the dom!!!
    - }

正如你可能已经猜到的那样,我并不确定应该代替"whateverItTakesToGetThisToWork",但是在我弄清楚这个fromServer的错误之后它变得相当明显我不会感到惊讶。 1}}对象。我原以为它会fromSever[i]但产生的输出太大会导致我的机器崩溃。

1 个答案:

答案 0 :(得分:2)

因为你使用JSON.stringify对数据进行了serielize,现在fromServer是一个字符串,也许你不能在pug中使用JSON方法,只是不要使用JSON.stringify,直接传递数据。