我已将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代码,这取决于那些变量。
答案 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%>