Vue+Mock.js+Echarts模拟数据

1.引入mock 和 axios

	# 在项目中安装mock.js
    npm install mockjs
    #在项目中安装axios
    npm install axios --save

2.在项目中新建mock文件夹里再建 index.js 和 mock.js 文件

3.在mock.js中自定义模拟数据4.44


//引入mock.js
import Mock from 'mockjs'
//随机生成数据
const Random = Mock.Random;
// 创建模拟数据
function creatGetMock() {
  const getMock = Mock.mock({
   //随机生成4个brandOne数组
    'brandOne|4': [{
      name: "@cname()",//随机生成中文名字
      age: "@natural(2, 40)"//随机生成年龄2-4o之间
    }],
  })
  return getMock
}
// 将模拟好的数据输出出去;
export {creatGetMock}

 4.在index.js中

import  Mock from 'mockjs'
import{creatGetMock,creatGetMockT}from './mock'
//设置延迟(需要的话可以加上)
// Mock.setup({
//   timeout:'3000-5000'
// })
Mock.mock(/\/api\/mock(|\?\S*)$/, 'get', creatGetMock)

5.在main.js中引入

// 引入axios
import axios from 'axios'
// 在vue项目中 axios中无法直接使用vue.use() 所以将axios直接添加到Vue的原型上
Vue.prototype.axios = axios
// 设置为 false 以阻止 vue 在启动时生成生产提示。
Vue.config.productionTip = false
// 引入设置好的mock, 用于拦截请求
import './views/dashboard/mock/index'

6.在自己项目中api里设置方法获取模拟数据

// import request from '@/utils/request'

//  //引入资源请求插件
  import axios from 'axios'
//
//  全局引用了这里加上会报错
// this.axios = axios

 export function mockList (data) {
  return axios.get('/api/mock', {
    data
  })
}

7.前台页面调用接口获取模拟数据

在vue页面引入接口

 import {mockList} from '@/api/qkjjsgl/index'

8.给echart赋值

data

<template>
  <div :class="className" :style="{height:height,width:width}"/>
</template>

<script>
  import echarts from 'echarts'
  require('echarts/theme/macarons') // echarts theme
  import resize from './mixins/resize'
  import {mockList} from '@/api/qkjjsgl/index'
  const animationDuration = 6000
  export default {
    mixins: [resize],
    props: {
      className: {
        type: String,
        default: 'chart'
      },
      width: {
        type: String,
        default: '100%'
      },
      height: {
        type: String,
        default: '300px'
      }
    },
    data() {
      return {
        chart: null,
        mockListArray: [],
        nameArr: [],
        ageArr: []
      }
    },
    created() {
    //页面打开直接调用获取模拟数据
      this.getMockList();
    },
    mounted() {
      this.$nextTick(() => {
        this.initChart(this.nameArr,this.ageArr);
      })
    },
    beforeDestroy() {
      if (!this.chart) {
        return
      }
      this.chart.dispose()
      this.chart = null
    },
    methods: {
      getMockList() {
        mockList().then(response => {
          this.mockListArray = response.data.brandOne;
          //获取到模拟数据数组 this.mockListArray
          this.mockListArray.forEach((el) => {
            //循环遍历出X轴的name赋值给nameArr
            this.nameArr.push(el.name);
            //循环遍历出Y轴的age赋值给ageArr
            this.ageArr.push(el.age);
          })
         //方法传参
          this.initChart(this.nameArr, this.ageArr)
        })
      },
      //获取到nameArr数组(X轴)和ageArr数组(Y轴)
      initChart(nameArr,ageArr) {
        this.chart = echarts.init(this.$el, 'macarons');
        this.chart.setOption({
          tooltip: {
            trigger: 'axis',
            axisPointer: { // 坐标轴指示器,坐标轴触发有效
              type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
            }
          },
          grid: {
            top: 10,
            left: '2%',
            right: '2%',
            bottom: '3%',
            containLabel: true
          },
          legend: {
            data: ['sales']
          },
          xAxis: {
            //  data: ['Shirts', 'Cardigans', 'Chiffons', 'Pants', 'Heels', 'Socks']
            //赋值
            data: nameArr
          },
          yAxis: {},
          series: [{
            name: 'sales',
            type: 'bar',
            //data: [20, 36, 10, 10, 20]
            //赋值
            data: ageArr
          }]
        })
      }
    }
  }
</script>

9.页面效果

 完成!!!

参考:使用mockjs 模拟前后台交互_moguPeople的博客-CSDN博客

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js 是一个流行的前端框架,而 Three.js 是一个用于创建 3D 图形的 JavaScript 库。将两者结合起来可以创建出令人惊叹的 3D 应用程序。下面是 vue+three.js 的每步解析: 1. 创建 Vue.js 应用程序 首先,需要创建一个 Vue.js 应用程序。可以使用 Vue CLI 来生成一个新的项目或手动创建一个新的 Vue.js 应用程序。 2. 安装 Three.js 可以使用 npm 包管理器安装 Three.js,也可以直接下载 Three.js 库文件并将其添加到项目中。 3. 在 Vue 组件中引入 Three.jsVue.js 中使用 Three.js 需要将其导入到组件中。可以使用 ES6 的 import 语句来引入 Three.js。 4. 创建场景、相机和渲染器 在 Three.js 中创建 3D 场景需要场景、相机和渲染器。可以在 Vue.js 组件的 mounted 钩子函数中创建它们。 5. 创建 3D 对象 可以使用 Three.js 来创建各种类型的 3D 对象,如立方体、球体、平面等。可以在 Vue.js 组件的 mounted 钩子函数中创建它们。 6. 将 3D 对象添加到场景中 创建 3D 对象后,需要将它们添加到场景中。可以使用场景对象的 add 方法来添加它们。 7. 渲染场景 最后,在 Vue.js 组件的 mounted 钩子函数中使用渲染器对象来渲染场景。 这是一个基本的 vue+three.js 应用程序的步骤。当然,还有很多其他的细节需要注意,如处理用户交互、加载 3D 模型等。但是,掌握了这些基本步骤,就可以开始创建自己的 3D 应用程序了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值