Vue3 + mock.js

Vue CLI 3.0

最新版本的Vue Cli提供了图形化界面(GUI)来创建项目,可以自定义配置项,比如预设功能插件,和配置都通过图形化点击的方式完成,脱离命令行。在创建完工程后可以在图形化界面中完成插件和依赖的下载。

Vue CLI 3.0

npm run dev等命令放到图形化界面中,后台调用CLI命令执行,并显示性能相关参数
Vue CLI 3.0

MockJS

  1. 作用:拦截用户ajax请求,返回预设模拟数据。
// 通过Mock.mock 来模拟数据接口
Mock.mock('./api/goodslist', 'get', {
  status: 200,
  message: '获取商品信息成功',
  data: [1, 2, 3, 4]
})
  1. async 函数是 Generator 函数的语法糖。使用 关键字 async 来表示,在函数内部使用 await 来表示异步。返回一个promise对象
 async getGoodsList() {
    const { data: res } = await this.$http.get('./api/goodslist') // 解构赋值
    console.log(res)
}
  1. mock中自带生成随机数据的一些api,自动生成一些数据
Mock.mock('./api/goodslist', 'get', {
  status: 200,
  message: '获取商品信息成功',
  'data|5-10': [
    {
      id: '@increment(1)',
      name: '@cword(2, 8)',
      price: '@natural(2, 10)',
      count: '@natural(100, 999)',
      img: '@dataImage(78x78)'
    }
  ]
})
数据
  1. 还可以自定义随机生成数据的模板
Random.extend({
    constellation: function(date) {
        var constellations = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座',
                              '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', 
                              '水瓶座', '双鱼座']
        return this.pick(constellations)
    }
})
Random.constellation()
// => "水瓶座"
Mock.mock('@CONSTELLATION')
// => "天蝎座"
Mock.mock({
    constellation: '@CONSTELLATION'
})
// => { constellation: "射手座" }

Vue3.0

  1. install:未正式发布之前在Vue2的基础上加一个vue-function-api

    • npm install vue-function-api --save
    • import { plugin } from 'vue-function-api Vue.use(plugin)
  2. API,类似react16Hook函数,以proxy代替之前的Object.defineProperty来实现数据响应。把之前的data、methods等都写在setup函数里面

<template>
  <div class="test">
    <input type="text" v-model="msg"/>
    <p>data: {{ msg }}</p>
    <p>computed: {{ msgWrapper }}</p>
    <button @click="changeMsg()">changeMsg</button>
  </div>
</template>

<script>
// 这里引进来的都是函数(hook) 
import { value, computed, onMounted } from 'vue-function-api'
export default {

  // setup 里面写data methods computed 等

  setup () {
    const  msg  = value('hello world')

    // 计算属性
    const msgWrapper = computed(() => msg.value + '---hgz')

    // 方法
    const changeMsg = () => { msg.value = msg.value == 'hello world' ? 'world peace' : 'hello world' }

    // 生命周期函数,执行顺序 setup =》外部(Vue2)生命周期函数 =》内部生命周期
    onMounted(() => { console.log('zzz') })

    // 只有在 setup 函数里面返回的数据(data,method,computed)才能在页面上使用
    return {
      msg,
      msgWrapper,
      changeMsg
    }
  }

}
</script>>
页面效果
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容

  • ## 框架和库的区别?> 框架(framework):一套完整的软件设计架构和**解决方案**。> > 库(lib...
    Rui_bdad阅读 2,855评论 1 4
  • 响应式布局的理解 响应式开发目的是一套代码可以在多种终端运行,适应不同屏幕的大小,其原理是运用媒体查询,在不同屏幕...
    懒猫_6500阅读 746评论 0 0
  • PS:转载请注明出处作者: TigerChain地址: https://www.jianshu.com/p/218...
    TigerChain阅读 25,977评论 5 70
  • 起床6:50 晨起,吃饭,上班 上午理疗、熏蒸、穴位注射 午休:吃饭,看《都挺好》, 下午:写病历、病人熏蒸。 下...
    七岳一株花阅读 37评论 0 1
  • 过去两天,从要离开家的前一天开始,心里就开始难过,一直到坐上高铁出发的时刻,心里还是有诸多不舍。可是昨天只缓了一下...
    吃木芽的小虫阅读 378评论 0 0