I am trying to pass a JSON object from pug to client side JavaScript. Here's how the code is structured. I render a JSON object and pass it to Pug from my Node-Express backend. Code below:
server.js
:
app.get('/myrooms', function(req, res) {
Room.find()
.where('_id')
.in(user.rooms)
.exec(function (err, records) {
res.render('rooms/index', {myrooms : records})
})
})
After that this object is available in my pug file. Now I want to pass it to a client side script. I am doing something like this in my index.pug
file.
index.pug
:
script(src='/js/play.js').
trooms = "#{myrooms}"
play.js
:
console.log(trooms)
It gives me 'troom
is not defined' error. I don't know how I can pass this object. According to some old post this was working in jade. However, I am using the pug version 2.0.0-rc.2
.
trooms = "#{myrooms}"
before you source the script. – HypophygeJSON.parse('#{myrooms}')
to convert JSON to object. – EhrenbergJSON.parse('#{myrooms}')
that but it did not work. – Keeling