我想使用一个对象来帮助使用 Chartjs 创建图表

问题描述

class HeartGraph {
    constructor(label,data,backgroundColor,borderColor,fill) {
        this.label = label;
        this.data = data;
        this.backgroundColor = backgroundColor;
        this.borderColor = borderColor;
        this.fill = fill;
    }
    
    getGraph() {
        var graph = {
            "label" : this.label,"data" : this.data,"backgroundColor" : this.backgroundColor,"borderColor" : this.borderColor,"fill" : this.fill
        };
        return graph;
    }
}

var systolic_graph = new HeartGraph(
    'Systolic',<?PHP echo(json_encode($systolic)); ?>,"rgba(60,111,194,1)",false
);

// 打印返回对象到控制台的结果

console.log(systolic_graph.getGraph());

// 从 Chart() 调用的数据集参数中,而不是这个:

{
    label: 'Diastolic',data: <?PHP echo(json_encode($diastolic)); ?>,backgroundColor: "rgba(76,245,112,borderColor: "rgba(76,fill: false
}

// 我只想简单使用:

{
    systolic_graph.getGraph()
}

为什么这行不通? Chrome 中的控制台告诉我“Uncaught SyntaxError: Unexpected token '.'”以及它引用的行指向 --> systolic_graph.getGraph()

有什么想法吗?

解决方法

我刚刚想通了! Chartjs 需要对象字面量(即 { ..... }),但我在 { } 容器内返回了一个对象字面量及其花括号。所以,它最终看起来像这样:

{
    {
    label: 'Diastolic',data: <?php echo(json_encode($diastolic)); ?>,backgroundColor: "rgba(76,245,112,1)",borderColor: "rgba(76,fill: false
    }
}

那些外花括号不能存在。我想我理解正确。 :)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...