vue 获取json数据

 1. 创建json文件,路径为 ..\public\data.json

{

    "categories": ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"],

    "data": [5, 20, 36, 10, 10, 20]

}
 2. webpack.dev.conf.js 中增加如下代码

const express = require('express')

const app = express()

var appData = require('../src/public/data.json')

var apiRoutes = express.Router()

app.use('/api', apiRoutes)

devServer下增加如下代码

    before(app) {

      app.get('/api/data', (req, res) => {

        res.json({

          errno: 0,

          data: appData

        })

      })

    }
可以通过http://localhost:8080/api/data 获取数据


然后在index.vue中增加代码如下:

<template>

  <div>

    <div id='mainpie' style='width: 600px;height:400px;'></div>

  </div>

</template>

<script>

export default {

  name: 'index',

  data() {

    return {};

  },

  methods: {

    drawpie() {

      var myChart = this.$echarts.init(document.getElementById('mainpie'));

      myChart.setOption({

        title: {

          text: '异步数据加载示例'

        },

        tooltip: {},

        legend: {

          data: ['销量']

        },

        xAxis: {

          data: []

        },

        yAxis: {},

        series: [

          {

            name: '销量',

            type: 'bar',

            data: []

          }

        ]

      });

 

      $.ajax({

        type: 'GET',

        url: '/api/data',

        dataType: 'json',

        success: function(data) {

          debugger;

          myChart.setOption({

            xAxis: {

              data: data.data.categories

            },

            series: [

              {

                name: '销量',

                data: data.data.data

              }

            ]

          });

        }

      });

    }

  },

  mounted() {

    this.drawpie();

  }

};

</script>

 


实现效果如下:


猜你喜欢

转载自www.cnblogs.com/hztyzq/p/12043971.html