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>
实现效果如下: