nodej ejs条件变量声明

时间:2017-06-22 18:50:52

标签: javascript node.js ejs

我已将ejs模板设为:

<div id="id1">
 do something
</div>
<div id="id2">
 do something
</div>

id的值由后端node.js代码决定。因此id的值不同于从后端呈现的某些变量的不同值。我试图将if-else案例用作:

<% if(backendvalue== "F"){ %>
   var id1 = "F";
   var id2 = "A";


<% } else if (backendvalue == "N") { %>
   var id1 = "N";
   var id2 = "B";

<% } %>

并使用上面声明的变量:

<div id="<%= id1%>">
  do something
</div>
<div id="<%= id2%>">
  do something
</div>

但我收到错误id1未定义。有什么方法可以解决这个问题,因为我有4个这样的变量和3个不同的条件和许多html代码,这取决于那些变量。

2 个答案:

答案 0 :(得分:0)

错误是有道理的,因为您将范围限制为if {}

只需删除var,它们就会变为全局。

<% if(backendvalue== "F"){ %>
     id1 = "F";
     id2 = "A";


<% } else if (backendvalue == "N") { %>
     id1 = "N";
     id2 = "B";

<% } %>

答案 1 :(得分:0)

分配过程几乎类似于使用从后端传递的变量的方式。您只需将=符号删除为:

<% v1= "value1"%>

v1 的值现在为 value1 ,可以在ejs内的任何位置使用:

<%= v1%>