我有一个快速函数,可以从mongoDB中检索一个变量(数组)
app.get('/route',function(req,res,next){
User.find()
.exec(function(err,result){
if(err) throw err
var outputMessage=result[0].message.split(/\\n/g)
var myBooks=[]
for(var i=0;i<outputMessage.length;i++){
myBooks.push(outputMessage[i])
}
res.render('index',{books: myBooks})
})
}
和一个哈巴狗模板index.pug:
html
head
script(type='text/javascript')
for book in books /*books coming from the express function in res.render('index',{books: myBooks}) */
data.addRows([book,1]) /*data.addRows are object and method from Google Charts*/
在pug模板的脚本中(以及在头部内)使用express函数中的变量是否可行
答案 0 :(得分:2)
您可以将books
数组存储到javascript变量中,然后使用javascript foreach进行迭代:
html
head
script(type='text/javascript').
var books = !{JSON.stringify(books)};
books.forEach( function (book) {
data.addRow([book,1]);
});
不要忘记在.
后告诉pug不解释下一个代码的点script(type='text/javascript')