Can I Use Conditional Statements With EJS Templates (in JMVC)?


Answer :

For others that stumble on this, you can also use ejs params/props in conditional statements:

recipes.js File:

app.get("/recipes", function(req, res) {     res.render("recipes.ejs", {         recipes: recipes     }); }); 

recipes.ejs File:

<%if (recipes.length > 0) { %> // Do something with more than 1 recipe <% } %> 

Conditionals work if they're structured correctly, I ran into this issue and figured it out.

For conditionals, the tag before else has to be paired with the end tag of the previous if otherwise the statements will evaluate separately and produce an error.

ERROR!

<% if(true){ %>    <h1>foo</h1> <% } %> <% else{ %>    <h1>bar</h1>  <% } %> 

Correct

<% if(true){ %>    <h1>foo</h1>  <% } else{ %>      <h1>bar</h1> <% } %> 

hope this helped.


Yes , You can use conditional statement with EJS like if else , ternary operator or even switch case also

For Example

Ternary operator : <%- role == 'Admin' ? 'Super Admin' : role == 'subAdmin' ? 'Sub Admin' : role %>

Switch Case

<% switch (role) { case 'Admin' : %>         Super Admin         <% break;  case 'eventAdmin' : %>         Event Admin         <% break;  case 'subAdmin' : %>         Sub Admin         <% break;  } %> 

Comments

Popular posts from this blog

Converting A String To Int In Groovy

"Cannot Create Cache Directory /home//.composer/cache/repo/https---packagist.org/, Or Directory Is Not Writable. Proceeding Without Cache"

Android How Can I Convert A String To A Editable