我尝试使用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] .temperature。
但是,我希望在内部使用for循环。 例如
<% for(var i = 0; i < 5; i++) {
<%= data[i].temperature %>
<% }%>
但是我不能处理这个。
内是否有任何选项或方法可以处理此for循环?谢谢。
答案 0 :(得分:0)
在类似情况下,我在脚本标签中使用了此标签并开始工作! 因此,请尝试以下操作并检查其是否有效。
<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++) { %>