如何将数组对象传递给Jade

时间:2016-02-24 03:48:11

标签: javascript arrays node.js pug

为什么这不起作用?

music.js

var files = fs.readdirSync('public/mymusic');
view.render('music', {mydata: files});

music.jade

script(type='text/javascript').
  for (var i=0; i<mydata.length; i++) {
  console.log(mydata[i]);
  }

ReferenceError:未定义mydata

这个链接似乎说我需要字符串化然后解析对象,但后来我不再拥有原始数组。 how to pass an array of objects to jade template?

1 个答案:

答案 0 :(得分:1)

您确定要输出一个Javascript代码块以便在客户端运行吗?

如果是这样,你必须在客户端Javascript中定义变量:

script(type="text/javascript").
  var mydata = !{JSON.stringify(mydata)}
  for (var i=0; i<mydata.length; i++) {
    console.log(mydata[i])
  }

传递给Jade视图引擎的数据不会在客户端和客户端之间共享。服务器端代码。