gpt4 book ai didi

javascript - 无法使用 JS/KnockoutJS 获取数组以显示在折线图中

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:37 28 4
gpt4 key购买 nike

我有ajax调用数据库获取日期字段,基本是这样的["2016-3", "2016-5", "2016-6", "2016-7", “2016-8”],当我从数据库调用它们时,我得到的它们与你在数组中看到的完全一样,但我无法让它们在图表上工作,如果我手动输入这些数组它可以工作但是如果我使用 observableArray 或只是一个普通的 js 数组都不起作用。这是正在进行的 ajax 调用的代码。

  var  arr = [ ]; //normal js array 
self.DateArray = ko.observableArray(); // knockout js array
self.LineChart = function () {
$.ajax({
type: 'POST',
url: BASEURL + 'index.php/moneyexchange/portfolioDevelopment/' + auth ,
contentType: 'application/json; charset=utf-8'
})
.done(function(data) {
console.log(data);
arr = data.slice();
self.DateArray(data);
console.log(self.DateArray());
console.log(arr);
})
.fail(function(xhr, status, error) {
alert(status);
})
.always(function(data){
});
};
self.LineChart();

console.log 都显示了这一点。 enter image description here

折线图可以正常工作,因为值是手动输入的。

this.MasnadsLineChart = {
labels: ["2016-3", "2016-5", "2016-6", "2016-7", "2016-8"],
datasets: [
{
label: "My First dataset",
fillColor: "rgba(220,220,220,0.1)",
strokeColor: "yellow",
pointColor: "#ffcc33",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [65, 59, 80, 81, 56, 55, 40,80, 81, 56, 55, 40]
},
{
label: "My Second dataset",
fillColor: "rgba(151,187,205,0.1)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(151,187,205,1)",
data: [41, 48, 40, 19, 86, 27, 90 ,80, 81, 56, 55, 40]
}
]
};

我尝试编写 labels : self.DateArray() 甚至 labels : arr两者都不起作用,现在我对如何让这些值在图表上起作用感到困惑。这就是 ajax 调用带回的内容 enter image description here这是我从中获得图表的链接 https://github.com/grofit/knockout.chart

最佳答案

您正在用一个新数组替换 arr,但没有在任何地方对 arr 做任何事情。

如果你想让KO看到数据,你需要把它放在可观察数组中,而不是一个无关的原始数组。

也许:

.done(function(data) {
self.DateArray(data);
})

还有:

I tried writing labels : self.DateArray() and even labels : arr both do not work

这是一个 KO 库,它可能需要一个可观察数组:

labels: self.DateArray

关于javascript - 无法使用 JS/KnockoutJS 获取数组以显示在折线图中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36907466/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com