2017-05-29 29 views
0

我想使用ChartJS,所以我可以在我的网站上显示图表,但我不希望JavaScript与HTML分离。我使用帕格(玉)作为我的视图引擎,我知道工作正常。无法链接外部JavaScript文件在帕格使用ChartJS

首先我联系ChartJS在我index.pug文件,并创建我的画布:

html 
head 
    link(rel='stylesheet', href='/stylesheets/styles.css', type='text/css') 
    script(type="text/javascript", src='https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.bundle.min.js') 
    script(type="text/javascript", src='/javascripts/chart.js') 
    title= title 
body 
    h1= message 
    canvas#myChart(width='400', height='400') 

接下来,在我chart.js之文件,我所做的:

var ctx = document.getElementById("myChart").getContext('2d'); 
var myChart = new Chart(ctx, { 
    type: 'bar', 
    data: { 
     labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"], 
     datasets: [{ 
      label: '# of Votes', 
      data: [12, 19, 3, 5, 2, 3], 
      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 
       } 
      }] 
     } 
    } 
}); 

出于某种原因,图表没有被显示,但是如果我使用脚本标记并将JavaScript直接放在帕格文件中,它可以正常工作。我知道JavaScript文件已正确链接,因为我使用警报对其进行了检查。关于为什么我的图表没有被显示的任何想法?

回答

1

添加您的代码文件准备像这里面:

$(document).ready(function() { 
    // your chart code goes here. 
});