Как использовать для цикла внутри тега сценария в EJS - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь нарисовать диаграмму, используя chart.js.

Чтобы получить свои данные, я пытаюсь использовать теги ejs

, например, в ejs я ввожу html вот так, и этоработает хорошо.

      <p>date: <%= today %></p>
  <p>temperature: <%= data[data.length-1].temperature %>℃</p>

  <h1>5days average temperature</h1>

  <ul>
    <% for(var i = 0; i < 5; i++) {(function (j) {%>
      <li><%= dateList[j] %>%></li>
      <ul><li><%= avgLocTmpList[i] %></li></ul>
    <% })(i);} %>
</ul>

, но когда я использую chart.js, я должен использовать теги ejs, как это внутри.

<script>
        var temper0 = '<%= data[0].temperature%>';
        tempList.push(temper0);
        var temper1 = '<%= data[1].temperature%>';
        tempList.push(temper1);
        var temper2 = '<%= data[2].temperature%>';
        tempList.push(temper2);
</script>

Я также могу получить данные [0] .temperaterвнутри тега.

но, я надеюсь использовать для цикла внутри.например,

<% for(var i = 0; i < 5; i++) {
<%= data[i].temperature %>
<% }%>

, но я не могу справиться с этим.Есть ли вариант или способ справиться с этим для цикла внутри ??

Спасибо, заранее.

1 Ответ

0 голосов
/ 09 ноября 2018

В аналогичной ситуации я использовал это внутри тегов скрипта и работал! Поэтому попробуйте следующее и проверьте, работает ли оно.

<script type="text/javascript">
   <% data.forEach(function (d) { %>
       console.log("<%= d %>"); // or anything you want to do.    
   <% }) %>
 </script>

Также есть ошибка в вашем следующем коде цикла. Заботьтесь об открытии и закрытии тегов ejs. В первой строке вы забыли закрыть тег ejs.

<% for(var i = 0; i < 5; i++) {
<%= data[i].temperature %>
<% }%>

Используйте это: <% for(var i = 0; i < 5; i++) { %>

...