Javascript 使用meteor中的chart.js,我的图表不会显示在浏览器屏幕上

Javascript 使用meteor中的chart.js,我的图表不会显示在浏览器屏幕上,javascript,meteor,charts,chart.js,Javascript,Meteor,Charts,Chart.js,浏览器屏幕上不显示我的图表。我正在将chart.js与meteor一起使用,并尝试使用onRendered或onCreated进行此操作,但它对我不起作用。 这是我的代码 <div class="pie-canvas"> <canvas id="myChart" width="350" height="350"></canvas> </div> home是我的模板名当您控制台

浏览器屏幕上不显示我的图表。我正在将chart.js与meteor一起使用,并尝试使用onRendered或onCreated进行此操作,但它对我不起作用。

这是我的代码

<div class="pie-canvas">
                    <canvas id="myChart" width="350" height="350"></canvas>
                </div>
home是我的模板名

当您控制台记录“$”(“#myChart”).get(0)”时,这将返回未定义的内容,因为在渲染时,您的get(0)未初始化,为了避免此情况,您必须在初始化图表时添加回调。因此,您的get(0)将首先初始化,然后您可以创建聊天记录

<div class="pie-canvas">
                    <canvas id="myChart" width="350" height="350"></canvas>
                </div>
“$(“#myChart”).get(0)”不是创造性的东西,因此不会重新初始化视图

以下是工作代码:

function drawChart() {
    var oldCount = 2;
    var newCount = 4;
    var data = [{
        value: newCount,
        color: "#e53935",
        highlight: "#c62828",
        label: "New"
    }, {
        value: oldCount,
        color: "#3949ab",
        highlight: "#1a237e",
        label: "Regular"
    }];

    var pieOptions = {
        animation: false,
    }
    // Added a callback here.
    setTimeout( function(){
        if ($("#myChart").get(0)) {
            var ctx = $("#myChart").get(0).getContext("2d");
            var myNewChart = new Chart(ctx);
            console.log(myNewChart);
            new Chart(ctx).Pie(data, pieOptions);
        }   
    })
}
当您控制台记录“$(“#myChart”).get(0)”时,这将返回未定义的结果,因为呈现时get(0)未初始化,为了防止出现这种情况,您必须在初始化图表时添加回调。因此,您的get(0)将首先初始化,然后您可以创建聊天记录

“$(“#myChart”).get(0)”不是创造性的东西,因此不会重新初始化视图

以下是工作代码:

function drawChart() {
    var oldCount = 2;
    var newCount = 4;
    var data = [{
        value: newCount,
        color: "#e53935",
        highlight: "#c62828",
        label: "New"
    }, {
        value: oldCount,
        color: "#3949ab",
        highlight: "#1a237e",
        label: "Regular"
    }];

    var pieOptions = {
        animation: false,
    }
    // Added a callback here.
    setTimeout( function(){
        if ($("#myChart").get(0)) {
            var ctx = $("#myChart").get(0).getContext("2d");
            var myNewChart = new Chart(ctx);
            console.log(myNewChart);
            new Chart(ctx).Pie(data, pieOptions);
        }   
    })
}