为什么这不起作用?
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?
答案 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视图引擎的数据不会在客户端和客户端之间共享。服务器端代码。