I ran into a very basic problem but I can't seem to find the answer to it. I am working with node.js
, express
and I am just trying to pass a local variable into the view like this:
app.get('/', function(req, res){
res.render("index", {locals: {
title: "Blog",
}
});
});
My index view is equally simple:
h1= title
But for some reason, I keep getting this error as if the local variable is never passed:
500 ReferenceError: /home/spartan/Node_Projects/test/views/index.jade:1 > 1| h1= title 2| title is not defined
> 1| h1= title
2| title is not defined
I don't know what I am doing wrong! Here are the versions I am using:
Someone please help so I can actually move on to learning node + express!
You should pass the variable without the locals
. This is probably new in express 3.0.0
res.render("index", {title: "Blog"});
h1 = title tries to evaluate it locally, the title you sent and that one is different. To understand the difference see:
- var title = 'my title' // - allows writing code
h1 = title
The one you should use is:
h1 #{title}
Here is a response that I made few hours ago to a smiliar question (+ deal with layout). It shows how to pass data when rendering. (Express 3.0.0 complient)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With