作者:如果不曾相识_不曾相知_不曾相恋 | 来源:互联网 | 2023-02-07 20:07
可以使用EJS标签将数据添加到图形吗?这是我当前图形的数据:
var canvas = document.getElementById('myChart');
var data = {
labels: ["One", "February", "March", "April", "May", "June", "July"],
datasets: [
{
label: "My First dataset",
backgroundColor: "rgba(255,99,132,0.2)",
borderColor: "rgba(255,99,132,1)",
borderWidth: 2,
hoverBackgroundColor: "rgba(255,99,132,0.4)",
hoverBorderColor: "rgba(255,99,132,1)",
data: [10, 20, 81, 56, 55, 40],
}
]
};
我想做这样的事情:
labels: ["<%= currentUser.datapoint1 %>", "<%= currentUser.datapoint2 %>", "<%= currentUser.datapoint3 %>"]
data: [<%= currentUser.datapoint10 %>, <%= currentUser.datapoint11 %>]
如何使用EJS标签填充图形数据?(注意:在需要生成图表之前,EJS标记信息将已经保存到用户中)
1> jordanwillis..:
是的,您可以使用EJS标签或跨各种view
Javascript框架使用的任何其他类似标签(例如,车把,流星中的空格键,ejs等)。Chart.js在运行时初始化,因此它不知道数据如何进入文件(例如,它不知道...也不关心...您的Javascript是否经过预处理和生成) 。
标签本身的格式仅与存储数据的变量有关。我建议将您的labels
和存储data
在数组中并使用JSON.stringify()
。
// defined in your app
var labels = ['label 1', 'label 2', ...];
var data = [datapoint1, datapoint2, ...];
// in your EJS file.
var canvas = document.getElementById('myChart');
var data = {
labels: <%- JSON.stringify(labels); %>,
datasets: [
{
label: "My First dataset",
backgroundColor: "rgba(255,99,132,0.2)",
borderColor: "rgba(255,99,132,1)",
borderWidth: 2,
hoverBackgroundColor: "rgba(255,99,132,0.4)",
hoverBorderColor: "rgba(255,99,132,1)",
data: <%- JSON.stringify(data); %>,
}
]
};