hztyzq

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>

 


实现效果如下:

 

 


 

分类:

技术点:

相关文章: