微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用按钮在带有 vue-chartjs 和 nuxt 的图表之间切换

如何解决使用按钮在带有 vue-chartjs 和 nuxt 的图表之间切换

关于如何使用 vue-chartjs 和 nuxt 构建折线图,我看到的很多内容与我看到的其他实现有很大不同。

基本上我想通过听哪个按钮被点击来在两个图表之间切换。 按钮的 html 不是我遇到的问题,但看起来像这样,供参考:

<line-chart id="myChart"/>
<button id="0" type="btn">Monthly</button>
<button id="1" type="btn">Daily</button>

JavaScript 对我来说有点困惑。我使用本指南作为基线,并且有基线。 https://stackoverflow.com/a/54412298/8514082

在其中,他们建议添加事件侦听器,然后基于此更新图表。

问题是,由于 nuxt 的工作原理,该指南基本上与我在第一步中所做的有所不同。我尝试添加侦听器并更新已安装的图表,但进展不顺利。

import { Line } from 'vue-chartjs'

const monthlyData = {
    labels: ['January','February','march','April','May','June','July'],datasets: [
    {label: 'Data1',backgroundColor: '#0000',data: [40,39,31,11,45,50,34]},{label: 'Data2',data: [34,40,50]},{label: 'Data3',data: [50,34,45]},{label: 'Data4',data: [45,11]}
]}

const dailyData = {
    labels: ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'],data: [8,5,9,1,4,4]},data: [3,3,8,5]},data: [7,6,2,7,8]},data: [1,10,15,4]}
]}


// add event listeners for the buttons
document.getElementById("0").addEventListener('click',() => {
    const chart = document.getElementById("myChart")
    chart.data = monthlyData
    chart.update()
})
  
document.getElementById("1").addEventListener('click',() => {
    const chart = document.getElementById("myChart");
    chart.data= dailyData;
    chart.update();
})


export default {
    
    extends: Line,data () {
        return {
            options: {
                responsive: true,maintainAspectRatio: false
            }
        }
    },mounted () {
        this.renderChart(monthlyData,this.options)
    }
}

这会引发引用错误:“文档未定义”,这只是第一步,我不确定下一步应该是什么。

知道我可以做些什么来让 vue-chartsjs 在按下按钮时更新其显示吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。