Как использовать var ejs в вызове функции javascript - PullRequest
0 голосов
/ 04 июля 2019

Я хотел бы знать, как передать ejs var в функцию в javascript

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 Ответ

1 голос
/ 04 июля 2019

Имейте в виду, что ваша EJS-программа и JS-программа на стороне клиента две разные программы (и обычно запускаются на двух разных компьютерах).

Вам необходимо поместить данные куда-нибудьэто может быть прочитано клиентской JS-программой.Например, атрибут данных .

Тогда клиентская 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, зарегистрированный в демоверсии.

...