我无法将ejs变量传输到javascript。 我在ejs中有一个for
<% for(var i=0; i < lyrics.length; i++) {%>
<!--MELODIE-->
<br>
<%= lyrics[i].texte %>
,我想登录浏览器歌词[i] .texte变量。
我尝试了var a = <%= lyrics[i].texte %>;
,但没有成功。
我还尝试在ejs <% v1= lyrics[i].texte ; %>
中进行设置,并将js var设置为等于v1,但此操作再次失败。
我必须将lyrics [i] .texte转换为js变量。
我认为问题源于.texte来到变种的名称后(texte是数据库列的名称,这是一个字符串)。我在其中储存一首诗。当我使用标准var(如<%var = 30%>)时,它在js传输中运行正常。 感谢您的帮助!
答案 0 :(得分:0)
首先,您必须对var进行字符串化,因为它是一个数组。采用
var myVar = <%-JSON.stringify(ejsVar)%>;
,以解决问题。
现在您可以在javascript中使用myVar。
答案 1 :(得分:0)
<% lyrics.forEach(lyric=> { %>
<li class="<%=lyric.texte %>"><%=lyric.texte %></li>
<% }); %>
这是循环lyrics
的代码,如果要访问特定的lyric.texte
,则必须在JavaScript文件中添加document.querySelector(".className");
。