vue中使用Echarts利用watch做动态数据渲染

6 篇文章 0 订阅

依旧直接上代码~

首先安装引入Echarts,我是直接把Echarts挂到VUE全局变量上了

//引入echarts

import Vue from 'vue';

import echarts from 'echarts';

Vue.prototype.$echarts = echarts;

<template>
    <div class="demo-container">
        <div ref="chart_wrap" class="chart_wrap"></div>
    </div>
</template>
<script>
export default {
    name: "demo",
    computed: {},
    data() {
        return {
            seriesData: []
        };
    },
    created() {},
    mounted() {
        this.initCharts();
        setTimeout(() => {
            this.seriesData.push({
                name: "销量",
                type: "bar",
                data: [5, 20, 36, 10, 10, 20]
            });
        }, 5000);
    },
    watch: {
        seriesData(val, oldVal) {
            console.log(1111, val, oldVal);
            this.setOptions(val);
        }
    },
    methods: {
        initCharts() {
            this.chart = this.$echarts.init(this.$refs.chart_wrap);
            this.setOptions();
        },
        setOptions(series) {
            console.log(22222,this.chart,series);
            this.chart.setOption({
                title: {
                    text: "ECharts 入门示例"
                },
                tooltip: {},
                legend: {
                    data: ["销量"]
                },
                xAxis: {
                    data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
                },
                yAxis: {},
                series: series
            });
        }
    }
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.chart_wrap {
    height: 400px;
}
</style>

 

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vue使用echarts动态绑定数据,可以通过以下步骤实现: 1. 安装echarts 在终端运行以下命令: ``` npm install echarts --save ``` 2. 引入echarts 在需要使用echarts的组件,引入echarts: ```javascript import echarts from 'echarts' ``` 3. 创建echarts实例 在组件的mounted()生命周期方法,创建echarts实例: ```javascript mounted() { this.chart = echarts.init(this.$refs.chart) }, ``` 其,$refs是vue的一个属性,可以获取到组件的DOM元素。 4. 绑定数据 在组件定义一个数据对象,用来存放echarts需要的数据,然后将数据绑定到echarts实例上: ```javascript data() { return { chartData: { xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], yData: [820, 932, 901, 934, 1290, 1330, 1320] } } }, mounted() { this.chart = echarts.init(this.$refs.chart) this.chart.setOption({ xAxis: { type: 'category', data: this.chartData.xData }, yAxis: { type: 'value' }, series: [{ data: this.chartData.yData, type: 'line' }] }) }, ``` 在以上代码,我们定义了一个数据对象chartData,其包含了x轴和y轴的数据。在mounted()方法,我们将数据绑定到echarts实例上,设置x轴和y轴的数据以及图表类型。这样,echarts图表就可以根据绑定的数据进行渲染。 5. 监听数据变化 如果需要动态更新echarts图表,可以在数据变化时,重新设置echarts实例的option: ```javascript watch: { 'chartData.yData': function() { this.chart.setOption({ series: [{ data: this.chartData.yData, type: 'line' }] }) } } ``` 在以上代码,我们监听了chartData.yData的变化,当数据变化时,重新设置echarts实例的series属性,从而实现动态更新图表的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值