如何在函数调用javascript中使用var ejs

时间:2019-07-04 08:37:38

标签: javascript html object ejs

我想知道如何在javascript函数中传递ejs var

index.ejs
 <%- include('header', {trans: text}) %>

//header.ejs
<% var lang=<%=lang%> %>

    <li class="nav-item">
        <a class="nav-link" href="javascript:" onclick="redirection(lang)">contact</a> // pass the var in function
    </li>

//help.js

    function redirection(val){
        console.log(val);
    }

1 个答案:

答案 0 :(得分:1)

请记住,您的EJS程序和客户端JS程序是两个不同的程序(通常在两台不同的计算机上运行)。

您需要将数据放在客户端JS程序可以读取的位置。例如,data attribute

然后客户端JS程序需要读取它。


在旁边href="javascript:"不是有用的URL。这是一个强烈的线索,您不应该使用链接。在本示例的其余部分,我将使用按钮。

:事件处理程序最好与JavaScript绑定,而不是与HTML绑定。


function redirection(event) {
  const button = event.currentTarget;
  const lang = button.dataset.lang;
  console.log(lang);
}

document.querySelector("button").addEventListener("click", redirection);
<button data-lang="<%= lang %>" type="button" class="nav-link">
      contact
</button>

请注意,在此示例中,EJS无法运行,因为我没有服务器可以运行它。您可以改为在演示中看到EJS源代码。