vue中如何使用echarts,使用axios获取数据

1==》首先准备一个容器

  <div id="echartContainer" style="width:400px; height:400px"></div> <!--创建一个echarts的容器-->

2==>在当前的页面中使用axios  和   引入放在本地在static文件中的静态文件op.js    引入echarts

  import axios from ‘axios‘;
  import {option} from ‘../../../static/op.js‘  //将数据格式现在js文件中 等会将他暴露出去

// 通过 npm 上安装的 ECharts 和  require(‘echarts‘) 得到 ECharts

var echarts = require(‘echarts‘);

 

op.js文件如下,它黎曼是配置好了的参数

export const option = {
    title: { text: ‘简单饼状图‘ },
    tooltip: {},
    xAxis: {
        data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"],
        name: ‘产品‘
    },
    yAxis: {},
    series: [{
        name: ‘销量‘,
        type: ‘bar‘,
        data: [],
        itemStyle: {
            normal: {
              color: ‘hotpink‘
            }
        }
    }]
}

3==》在调用methods中写一个方法,在mounted中去调用

     mounted() {
        // 调用这个函数  在节点创建完成之后
        this.drawBarChart();
    },

3==>在methods中写一个方法

 methods:{
      drawBarChart() {
            // 基于准备好的dom,初始化echarts实例
            var myChart = this.echarts.init(document.getElementById(‘echartContainer‘));
            // 绘制基本图表
            myChart.setOption(option); //option是一个详细的配置参数

            //没有加载出来显示加载动画
      myChart.showLoading();
            //获取数据
            axios.get(‘../../static/b.json‘).then(res => {
                  setTimeout(()=>{  //未来让加载动画效果明显,这里加入了setTimeout,实现2s延时
                    myChart.hideLoading(); //没有加载出来隐藏加载动画
                    myChart.setOption({  //动画的配置
                        series: [{
                        data: res.data.product  //这里数据是一个数组的形似
                        }]
                    })
                    }, 2000 )
            })
            },    

b.json的参数也是如下的

{
    "product" : [5, 20, 36, 10, 10, 20]
}

原文地址:https://www.cnblogs.com/IwishIcould/p/10990345.html

时间: 2024-11-08 19:22:45

vue中如何使用echarts,使用axios获取数据的相关文章

vue中如何不通过路由直接获取url中的参数

前言:为什么要不通过路由直接获取url中的参数? vue中使用路由的方式设置url参数,但是这种方式必须要在路径中附带参数,而且这个参数是需要在vue的路由中提前设置好的. 相对来说,在某些情况下直接在url后面拼接?mid=100的方式传递参数更灵活,你不需要设置路由,只需要在url后拼接参数即可,但是这种方式就需要通过javascript获取并提取url中的参数,通过传统的方式直接在页面中获取是行不通的了,因为vue中是无法通过location.search()来获取url问号之后的内容的.

vue中如何使用echarts

在vue中使用echarts主要是注意如何与vue生命周期相结合,从而做到数据驱动视图刷新 主要是以下几步: echarts的option设置在data(){}中 在mounted(){}生命周期去初始化数据,初始化echarts 在updated(){}生命周期中去setOption(option)渲染echarts. 模板vue文件如下: <template> <div id="myChart" ref="myChart"></di

VUE中父组件向子组件传递数据 props使用

VUE中,子组件是不能直接访问父组件的数据(一般来说,当然如果你要破坏原则也是可以),如下< <body> <div id="fathercomponent"> <ul> <li v-for="item in fatherdatas">{{item}}</li> <!--父组件可以访问它自己的数据--> </ul> <child-component></chi

在vue中使用的Echarts的步骤

1.首先在项目中安装Echarts npm install echarts -g --save //安装 2.在项目中引入Echarts(在main.js中引入) import echarts from 'echarts' //引入Echarts, Vue.prototype.$echarts = echarts //定义为全局变量 3.使用并绘制简单表格(承载画布的div必须要定义大小width.height) <template> <!-- ref="myechart&qu

jQuery中通过JSONP来跨域获取数据的三种方式

第一种方法是在ajax函数中设置dataType为'jsonp' $.ajax({ dataType: 'jsonp', url: 'http://www.a.com/user?id=123', success: function(data){ //处理data数据 } }); 第二种方法是利用getJSON来实现,只要在地址中加上callback=?参数即可 $.getJSON('http://www.a.com/user?id=123&callback=?', function(data){

fetch和axios获取数据

fetch("/api/goods") .then(res => { return res.json(); }) .then(response => { console.log(response); if (response.code == 0) { this.poiInfo = response.data.poi_info; } }); axios.get("/api/goods").then(res => { var res = JSON.pa

vue中数据双向绑定的实现原理

vue中最常见的属v-model这个数据双向绑定了,很好奇它是如何实现的呢?尝试着用原生的JS去实现一下. 首先大致学习了解下Object.defineProperty()这个东东吧! * Object.defineProperty() * 对对象的属性进行 定义/修改 * */ let obj = {x:10} // 这两种方式都相对来说比较简单,直接,但是有些时候我们需要对对象的属性的修改和增加进行必要的干预 // obj.y = 20; // obj.x = 100; // obj.x =

vue中常用的事件和修饰符简单总结

1:阻止冒泡事件 JS事件流其中一种是冒泡事件,当一个元素被触发一个事件时,该目标元素的事件会优先被执行,然后向外传播到每个祖先元素,恰如水里的一个泡泡似的,从产生就一直往上浮,到在水平面时,它才消失.在这个过程中,如果你只希望事件发生在目标元素,而不想它传播到祖先元素上去,那么你需要在"泡泡"离开对象之前刺破它. 在vue中怎么写? 2:阻止默认行为 在vue中怎么写? 3:键盘事件 获取键码?通过事件对象来获取 注意:keydown事件和keyup事件的区别? keydown是在键

vue项目使用async await 封装 axios

es8的async await让异步变成了同步的写法,在vue中,可以通过封装axios,使得所有的请求都可以使用同步的写法. 新建一个api.js文件,全局创建api实例 import axios from 'axios' const qs = require('qs') const api = { async get (url, data) { try { let res = await axios.get(url, {params: data}) res = res.data return