2017-06-22 54 views
0

我有一個ejs模板:nodej 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

分配的過程與您使用從後端傳遞的變量的方式幾乎相似。你只需要刪除=符號爲:

<% v1= "value1"%> 

V1值是現在值1,可以將它的任何地方使用EJS內:

<%= v1%> 
0

錯誤是有道理的,因爲你將範圍限制在if {}

只要刪除var,它們就會變成全球性的。

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


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

<% } %>