196
rated 0 times
[
197]
[
1]
/ answers: 1 / hits: 43985
/ 13 Years ago, fri, september 2, 2011, 12:00:00
What is the best way to check for an undefined property in an ejs template?
(I'm using the node.js package by TJ Holowaychuk)
Example:
var tpl = '<% if (foo) { %>foo defined<% } else { %>foo undefined<% } %>';
console.log(ejs.render(tpl, { locals: { bar: baz } }));
I'd expect this to render foo undefined. It does throw an foo undefined error instead.
I know that this is not supposed to be an issue, since this is expected behavior in the tests. Is there an easy way to avoid this?
The only solution I found is using the hasOwnProperty
method.
var tpl = '<% if (hasOwnProperty(foo)) { %>foo defined<% } else { %>foo undefined<% } %>';
console.log(ejs.render(tpl, { locals: { bar: baz} }));
This doesn't throw any errors.
Is there a better way to keep the template clean? Or why does it throw this error?
More From » node.js