2017-02-17 4 views
1

Ich verwende Chart.js in einer EJS-Vorlage und versuche, ein Teildatum anzuzeigen, das aus Jahr/Monat besteht, zB: 2017/02 oder 2017-02, aber ich 1008,5 oder 2015Chart.js und EJS: Display String, kein Berechnungsergebnis

Dieser Parameter erscheint als ‚2017/02‘ in einer Tabelle in EJS:

<%= legend %> 

Aber in meiner kann nicht einen Weg um die Zeichenfolge anzuzeigen, anstatt den berechneten Wert, zB finden Diagramm, bekomme ich 1008.5:

<canvas id="myChart" width="400" height="400"></canvas> 
<script> 
var ctx = document.getElementById("myChart"); 
var myChart = new Chart(ctx, { 
    type: 'bar', 
    data: { 
     labels: [<%= labels %>], 
     datasets: [{ 
      label: <%= legend %>, 
      data: [<%= visits %>], 
      backgroundColor: [ 
       'rgba(255, 99, 132, 0.2)', 
       'rgba(54, 162, 235, 0.2)', 
       'rgba(255, 206, 86, 0.2)', 
       'rgba(75, 192, 192, 0.2)', 
       'rgba(153, 102, 255, 0.2)', 
       'rgba(255, 159, 64, 0.2)' 
      ], 
      borderColor: [ 
       'rgba(255,99,132,1)', 
       'rgba(54, 162, 235, 1)', 
       'rgba(255, 206, 86, 1)', 
       'rgba(75, 192, 192, 1)', 
       'rgba(153, 102, 255, 1)', 
       'rgba(255, 159, 64, 1)' 
      ], 
      borderWidth: 1 
     }] 
    }, 
    options: { 
     scales: { 
      yAxes: [{ 
       ticks: { 
        beginAtZero:true 
       } 
      }] 
     } 
    } 
}); 
</script> 

I habe versucht mit <% -%>, sowie HTML-Entities für '/', aber das hilft nicht.

Antwort

0

Es ist notwendig, zu zitieren Strings, z.B .:

label: '<%= legend %>',