开发者问题收集

Chart.js 错误:TypeError:t 未定义

2016-12-01
22883

我一直收到此错误,并且无法显示 Chart.js 图表,尽管我尝试了在互联网上找到的多个代码。

这是 HTML 的相关部分:

<head>
    <script src = "https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js"></script>
    ...
</head>

<body>
    <canvas id = "myChart"></canvas>
    ...
</body>

这是 javascript:

var ctx = document.getElementById("myChart");
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
                }
            }]
        }
    }
});

我在这里找到了该示例: http://www.chartjs.org/docs/

并且我在控制台中收到此错误:

TypeError: t is undefined

有人可以帮忙吗?谢谢。

3个回答

已解决,显然我使用的脚本链接有问题。将其更改为 https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js ,它运行正常。请参阅 Chris G 的评论。

Hachem Benyahia
2016-12-01

将 javascript 代码(以 <script type="text/javascript">var ctx ...</script> 开头)放在 canvas 元素后面。这可确保当 var ctx = document.getElementById("myChart");

这应该可以解决您的问题。

maaaddog
2017-11-24

我使用的是 2.8.0(当前最新版本)。此处建议的早期版本没有帮助。

对于我来说,解决此错误的方法是为上下文提供正确的元素 ID。我给出 new Chart() “chartjs-1”,因为我盲目复制了一个示例,但我的画布 ID 是“myCanvas”。为 new Chart() 提供我的画布的实际 ID 解决了问题。

请注意,问题中的错误来自 Firefox。Chrome 给出了另一个错误,让我找到了真正的罪魁祸首: 无法读取 null 的属性“长度”

Eric
2019-05-24