vue使用mock进行后端数据模拟
我们从头开始,教你一步一步使用mock进行后端数据模拟。
1、首先我们创建vue项目:
通过vue create test_mock命令:
我们这里选择第三个:Manually select features,回车
这里通过键盘上的上下键上下移动,通过空格键选择。我们选择Babel,Router, Vuex这三个。
这里选择3.x 回车。
这里选择Y,回车。
这里选择默认回车。
这里还是n,回车。
最后项目创建完成。
我们通过cd test_mock进入项目,通过npm run serve启动项目。
启动后的项目如下图:
2、我们按ctrl+c键终止项目。
终端安装依赖:npm install mockjs。
再通过命令:cnpm i axios -S安装axios。
其原理如下图所示:
然后,我们在目录src文件下新建文件 --mock--mock.js。
如下图:
mock.js代码如下:
import Mock from mockjs
let random = Mock.Random
random.extend({
    constellation:function(date) {
        var constellation = [天秤座,双子座,处女座,白羊座,金牛座,巨蟹座,狮子座,天蝎座];
        return this.pick(constellation)
    }
})
Mock.mock(http://localhost:8080/user, {
    name:@name,
    email:"@email",
    age|1-10:5,
    introduce: random.province(),
    constellation: @CONSTELLATION
}) 
数据规范:Mock.mock(需要拦截的请求, { 属性名|生成规则: 属性值 }) /*生成规则可选*/
数据占位符:
用 @来标识其后的字符串是 占位符。
占位符 引用的是 Mock.Random 中的方法。
Mock.Random 的方法在数据模板中称为『占位符』
3、需要数据模拟的页面AboutView.vue。位置在:src/views/AboutView.vue。
AboutView.vue代码如下:
<template>
    <div>
        <h1>我是About</h1>
        <button @click="getUser()">点击获取用户信息</button>
    </div>
</template>
<script>
import axios from axios
import mock from @/mock/mock.js
export default {
    name:About,
    methods: {
        getUser() {
            axios.get(http://localhost:8080/user)
            .then(function(res) {
                console.log(JSON.stringify(res.data))
            })
            .catch(function(res) {
                alert(res)
            })
        }
    }
}
</script> 
启动项目后,mock 会根据请求 url 拦截对应请求并返回模拟数据:
下一篇:
			            Day52 微服务 负载均衡 *** 
			          
			        
