javascript - 从函数内部操作对象

标签 javascript function chart.js

我遇到问题,需要帮助。 我使用 Chart.js 创建图表,并想使用函数更新它们。

我有以下设置:

function createchart(obj){
var kdChart = new Chart(kdchart, {
          type: 'line',
          data: data,
          options: options
        });

现在我尝试使用第二个函数更新图表,如下所示:

function updatechart(){
  //collect new data...
  kdChart.data.labels = datepoints;
  kdChart.data.datasets[0].data = kdata;
  kdChart.data.datasets[1].data = ddata;
  kdChart.update();
}

现在我收到错误

TypeError: kdChart.data is undefined

当我在 createchart 函数之外创建图表时,它可以工作。 我在这里做错了什么? 如何从函数内部更新对象?

最佳答案

问题是你的变量只存在于你的函数中。做类似的事情

function createchart(...) {
    var kdchart = ...
    ...
    return kdchart;
}

当你调用这个函数时,将 kdchart 粘贴到你可以找到它的地方 - 在窗口对象上没有其他地方

关于javascript - 从函数内部操作对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46475386/

相关文章:

javascript - 如何通过单击 Chart.js v2 Canvas 外部的自定义按钮来导航工具提示弹出窗口?

c - 指向指针参数变量的指针以及它们如何工作?例如功能(int ** ptr)

javascript - ChartJS 重新渲染错误

javascript - html中Select元素的事件顺序

javascript - 在 Angular Controller 之间共享大对象

php - mysql 选择 if 条件

c - 从 'char*' 到 'char [-fpermissive] 的转换无效

javascript - 从 Excel 导入数据并在 Chart.js 中使用

javascript - amCharts pie - 鼠标悬停在切片上时如何触发功能?

javascript - 更新面板无法异步工作